kk_lee69
发表于 2019-10-15 13:10:57
不要亂改我給你的語法 請先 把 中文字的地方改成 你的 資料表名稱你就懂意思
xuanniao110
发表于 2019-10-15 13:14:10
kk_lee69 发表于 2019-10-15 13:10
不要亂改我給你的語法 請先 把 中文字的地方改成 你的 資料表名稱你就懂意思
kk_lee69
发表于 2019-10-15 13:18:34
xuanniao110 发表于 2019-10-15 13:14
你有看到 你只有IDRQ2018CS2018SX那不就會知道 你缺了 2019 嗎??
你是這個意思嗎??
xuanniao110
发表于 2019-10-15 13:20:09
kk_lee69 发表于 2019-10-15 13:18
你有看到 你只有IDRQ2018CS2018SX那不就會知道 你缺了 2019 嗎??
你是這個意思嗎??
这个是列出了数据表01mon所有列名 你的意思是让我用 2019sx来对比这列出来的所有列名 如果没有就创建有就执行保存?
kk_lee69
发表于 2019-10-15 13:22:12
xuanniao110 发表于 2019-10-15 13:20
这个是列出了数据表01mon所有列名 你的意思是让我用 2019sx来对比这列出来的所有列名 如果没有就创建 ...
當然阿............這是方法一
也可以變化一下啊方法二
SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xtype = 'U' and a.id = b.id and a.name='資料表單名稱' )as aWhere name='2019CX'
返回0就是 沒有返回 1就是有
kk_lee69
发表于 2019-10-15 13:27:05
xuanniao110 发表于 2019-10-15 13:20
这个是列出了数据表01mon所有列名 你的意思是让我用 2019sx来对比这列出来的所有列名 如果没有就创建 ...
這樣 你的疑問 解決了嗎
xuanniao110
发表于 2019-10-15 13:36:58
kk_lee69 发表于 2019-10-15 13:22
當然阿............這是方法一
也可以變化一下啊方法二
我想要你的第二种方法 我不想去遍列数据表的列名
kk_lee69
发表于 2019-10-15 13:38:12
這樣 後面的你想做的 都有辦法解決了嗎??
xuanniao110
发表于 2019-10-15 13:39:04
kk_lee69 发表于 2019-10-15 13:38
這樣 後面的你想做的 都有辦法解決了嗎??
现在就是第二种方法不晓得怎么来获取啊 那返回值
kk_lee69
发表于 2019-10-15 13:40:19
..................你的AU3程式 我看看??
kk_lee69
发表于 2019-10-15 13:46:02
本帖最后由 kk_lee69 于 2019-10-15 14:10 编辑
xuanniao110 发表于 2019-10-15 13:39
现在就是第二种方法不晓得怎么来获取啊 那返回值
$RS.open ("SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xtype = 'U' and a.id = b.id and a.name='資料表單名稱' )as aWhere name='2019CX'" )
While (Not $RS.eof And Not $RS.bof);迴圈讀表
$Ai=$RS.Fields(0).value
$RS.movenext;跳出迴圈
WEnd;結束迴圈讀表
$RS.close;關閉數據分表
IF $Ai = 0 Then
MsgBox(0,"","沒有這個2019CX欄位")
ELSE
MsgBox(0,"","有這個2019CX欄位")
EndIf
請參考
http://www.autoitx.com/forum.php?mod=viewthread&tid=30083&highlight=SQL
xuanniao110
发表于 2019-10-15 14:29:16
kk_lee69 发表于 2019-10-15 13:46
$RS.open ("SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xt ...
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL Server};server=" & $mdb_data_Server & ";uid=" & $mdb_data_id & ";pwd=" & $mdb_data_pwd & ";database=" & $mdb_data_Company)
$RS.ActiveConnection = $conn
$RS.Open("SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xtype = 'U' and a.id = b.id and a.name='' )as aWhere name='2019sx'") ;读取这一列的列名称
While (Not $RS.eof And Not $RS.bof) ;循环读表 有资料就跑回圈没资料就会跳出
$pdz = $RS.Fields(0).value ;此位置真不知道在AU3中是如何用数据集里面的参数来表达返回值的
$RS.movenext
WEnd
MsgBox(0, "判断值", $pdz)
If $pdz = 0 Then
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL Server};server=" & $mdb_data_Server & ";uid=" & $mdb_data_id & ";pwd=" & $mdb_data_pwd & ";database=" & $mdb_data_Company)
$RS.ActiveConnection = $conn
$RS.Open("ALTER TABLE [" & $mon & "mon" & "] ADD [" & $sxlm & "] FLOAT DEFAULT 'null'")
$RS.Open("ALTER TABLE [" & $mon & "mon" & "] ADD [" & $cslm & "] FLOAT DEFAULT 'null'")
$conn.close
MsgBox(0, "创建成功", "!!!!!!!")
bc()
Else
bc()
EndIf
EndIf
这样出来的$pdz不管你是有2019sx列还是没有2019sx列 它的值都是0
xuanniao110
发表于 2019-10-15 14:32:01
本帖最后由 xuanniao110 于 2019-10-15 16:48 编辑
kk_lee69 发表于 2019-10-15 13:46
$RS.open ("SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xt ...
如图 查询出来的值依然是0
kk_lee69
发表于 2019-10-15 14:35:21
xuanniao110 发表于 2019-10-15 14:29
这样出来的$pdz不管你是有2019sx列还是没有2019sx列 它的值都是0
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL Server};server=" & $mdb_data_Server & ";uid=" & $mdb_data_id & ";pwd=" & $mdb_data_pwd & ";database=" & $mdb_data_Company)
$RS.ActiveConnection = $conn
$RS.Open("SELECT COUNT(*)FROM( select b.name from sysobjects as a, syscolumns as b where a.xtype = 'U' and a.id = b.id and a.name='' )as aWhere name='2019sx'") ;?取?一列的列名?
While (Not $RS.eof And Not $RS.bof) ;循??表 有?料就跑回圈??料就?跳出
$pdz = $RS.Fields(0).value ;此位置真不知道在AU3中是如何用?据集里面的???表?返回值的
$RS.movenext
WEnd
MsgBox(0, "判?值", $pdz)
If $pdz = 0 Then
$RS.Open("ALTER TABLE [" & $mon & "mon" & "] ADD [" & $sxlm & "] FLOAT DEFAULT 'null'")
$RS.Open("ALTER TABLE [" & $mon & "mon" & "] ADD [" & $cslm & "] FLOAT DEFAULT 'null'")
MsgBox(0, "?建成功", "!!!!!!!")
bc()
Else
bc()
EndIf
xuanniao110
发表于 2019-10-15 14:56:04
kk_lee69 发表于 2019-10-15 14:35
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={S ...
依然一样 判断值还是0不管是有列还是没列