kk_lee69
发表于 2019-10-15 14:56:26
xuanniao110 发表于 2019-10-15 14:29
这样出来的$pdz不管你是有2019sx列还是没有2019sx列 它的值都是0
這句話 不懂 請展示
我覺得 你是整個搞錯了
kk_lee69
发表于 2019-10-15 15:04:14
xuanniao110 发表于 2019-10-15 14:56
依然一样 判断值还是0不管是有列还是没列
那就表示你有地方錯了 我需要看到 你實係測試出來的東西 跟語法 不然我無法回答你的問題
xuanniao110
发表于 2019-10-15 15:12:45
本帖最后由 xuanniao110 于 2019-10-15 16:48 编辑
$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
EndIf
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
以上为代码
程序测试中报错
kk_lee69
发表于 2019-10-15 15:59:46
本帖最后由 kk_lee69 于 2019-10-15 16:00 编辑
xuanniao110 发表于 2019-10-15 15:12
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
...
請直接下SQL 語法查詢 請不要使用AU3 任何程式
請不要套用到你的任何程式單純使用 查詢 跟取回值請不要使用任何有畫面的AU3程式
kk_lee69
发表于 2019-10-15 16:04:09
xuanniao110 发表于 2019-10-15 15:12
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
...
要詢問問題請把問題簡化成 單純的程式你套用到自己的程式有太多的可能性 造成錯誤.....請用最單純 最直接的方式 找問題
kk_lee69
发表于 2019-10-15 16:07:50
xuanniao110 发表于 2019-10-15 15:12
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
...
$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) ;循??表 有?料就跑回圈??料就?跳出
$Ai = $RS.Fields(0).value ;此位置真不知道在AU3中是如何用?据集里面的???表?返回值的
$RS.movenext
WEnd
MsgBox(0, "Ai為", $Ai)
使用上面的語法 都不要更動 只要連線你的資料庫 執行兩次 截圖秀出 有 2019sx 跟 沒有 2019sx 的狀況
xuanniao110
发表于 2019-10-15 16:32:02
kk_lee69 发表于 2019-10-15 16:07
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL ...
$mdb_data_Server = "172.16.102.40"
$mdb_data_id = "sa"
$mdb_data_pwd = "100200300"
$mdb_data_Company = "TestSQL"
$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) ;循??表 有?料就跑回圈??料就?跳出
$Ai = $RS.Fields(0).value ;此位置真不知道在AU3中是如何用?据集里面的???表?返回值的
$RS.movenext
WEnd
MsgBox(0, "Ai為", $Ai)
kk_lee69
发表于 2019-10-15 22:09:19
本帖最后由 kk_lee69 于 2019-10-15 22:11 编辑
xuanniao110 发表于 2019-10-15 16:32
改一下 語法
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 like '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 aWhereRTRIM(name)='2019sx'
kk_lee69
发表于 2019-10-15 22:14:26
xuanniao110 发表于 2019-10-15 16:32
以這個表來說 這樣的結果是不合理的..........
可以 用 你一開始的SQL 查詢工具查詢 兩個表的結果
select b.name from sysobjects as a, syscolumns as b where a.xtype = 'U' and a.id = b.id and a.name=''
跑這個功能就好...........
或者 使用 SQL 查詢工具直接查詢
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'
這樣的結果.....
kk_lee69
发表于 2019-10-15 22:20:33
xuanniao110 发表于 2019-10-15 16:32
方便的話可否 上傳 TETSSQL 資料庫的備份檔案 ........ 方便研究
xuanniao110
发表于 2019-10-16 11:43:21
kk_lee69 发表于 2019-10-15 22:20
方便的話可否 上傳 TETSSQL 資料庫的備份檔案 ........ 方便研究
数据库已经上传请查收
kk_lee69
发表于 2019-10-16 13:04:53
xuanniao110 发表于 2019-10-16 11:43
数据库已经上传请查收
資料庫 是 哪個版本的 SQL 多少的
kk_lee69
发表于 2019-10-16 13:18:36
xuanniao110 发表于 2019-10-16 11:43
数据库已经上传请查收
可不可以採用備份的方式 備份資料庫 請不要直接給我 資料庫檔案我怕 這樣會有一些資訊無法載入
kk_lee69
发表于 2019-10-16 13:23:13
xuanniao110 发表于 2019-10-16 11:43
数据库已经上传请查收
找出原因了 !~~~你的語法錯誤不可以使用'' 要使用 '01mon'
xuanniao110
发表于 2019-10-16 13:34:19
kk_lee69 发表于 2019-10-16 13:23
找出原因了 !~~~你的語法錯誤不可以使用'' 要使用 '01mon'
果然是 就是这个原因 我现在获取到就是1非常感谢你的帮助 如此之耐心 感谢之情无法言表