【已解决】求助数据库操作语句问题!谢谢!
本帖最后由 mwh79 于 2016-7-7 15:30 编辑Dim $Server = "127.0.0.1" ;SQL主机名称
Dim $ID = "sa" ; 登入数据库主机的账号一般都会用sa
Dim $pw = "12." ;登入数据库主机的密码
DIM $Company="qsx" ;数据库名称
While 1
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("driver={SQL Server};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$Company);主机名IP127.0.0.1,UID=用户,PWD=密码,database=数据库名
$RS.ActiveConnection = $conn ; 设定RS 是 conn 的集合 重要的部份
;标准的 读取数据 循环模式语法
;几乎 所有的查询都只要套用这个模式就可以了......
$RS.open ("select count fromserverinfo");
上面这段语句,如果数据库中 count和 serverinfo存在,运行没有问题,但是如果不存在,这会程序报错,有没有办法使其不存在这设置RS=0??
If @error 没有效果呀,求教! 回复 1# mwh79
你個觀念是有點問題的..........
既然是資料庫你當然得 知道 有甚麼表 跟欄位 .....因此表名 跟欄位名 一定不能錯.....
所以 第一個觀念是 count和 serverinfo 不會 ....不存在
但是 可能還沒建立因此在一開始的時候 你必須要檢查資料庫是否存在 不存在就得要建立
;檢查自訂資料庫MACCorrespond是否存在
$RS.open ("select name from sysobjects where name ='MACCorrespond' and type = 'U'")
IF ($RS.eof or $RS.bof) THEN
$conn.Execute($SQLCreateDB3); 不存在就建立資料庫 $SQLCreateDB3是建立資料庫的語法 變數
Else
$DBcheck = 3
EndIf
$RS.close;關閉數據分表
;$conn.close;關閉資料庫連接 可能是我没有说清楚,是这样的,有些数据库是没有这个表和字段,程序只针对有这个表和字段的操作,这只是脚本的一部分,所以需要脚本,在查不到这些表和字段的时候,还能继续工作,而不是报错。 回复 3# mwh79
我剛剛不是說了...............先檢查 有沒有這個資料庫....
語法 上面給你了 用那個語法 就可以查出 資料庫存在不存在....
字段也同樣的 可以先查詢
全部通過的 才 下你要跑的查詢語法即可.............
而你想要的
有没有办法使其不存在这设置RS=0??
這個是不存在的 回复 3# mwh79
select count(name) from syscolumns
where id=(select id from sysobjects where name='表格名') and name='欄位名'
傳回0則欄位不存在 不行,还是脚本报错,“”请求的动作失败“”,真是无解呀 好了,谢谢了,测试成功!谢谢老大高手
页:
[1]