mwh79 发表于 2016-7-7 13:41:21

【已解决】求助数据库操作语句问题!谢谢!

本帖最后由 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   没有效果呀,求教!

kk_lee69 发表于 2016-7-7 13:52:44

回复 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;關閉資料庫連接

mwh79 发表于 2016-7-7 14:12:53

可能是我没有说清楚,是这样的,有些数据库是没有这个表和字段,程序只针对有这个表和字段的操作,这只是脚本的一部分,所以需要脚本,在查不到这些表和字段的时候,还能继续工作,而不是报错。

kk_lee69 发表于 2016-7-7 14:16:03

回复 3# mwh79

我剛剛不是說了...............先檢查 有沒有這個資料庫....

語法 上面給你了   用那個語法 就可以查出 資料庫存在不存在....

字段也同樣的 可以先查詢

全部通過的 才 下你要跑的查詢語法即可.............

而你想要的
有没有办法使其不存在这设置RS=0??


這個是不存在的

kk_lee69 发表于 2016-7-7 14:46:49

回复 3# mwh79

select count(name) from syscolumns

where id=(select id from sysobjects where name='表格名') and name='欄位名'

傳回0則欄位不存在

mwh79 发表于 2016-7-7 14:56:48

不行,还是脚本报错,“”请求的动作失败“”,真是无解呀

mwh79 发表于 2016-7-7 15:30:21

好了,谢谢了,测试成功!谢谢老大高手
页: [1]
查看完整版本: 【已解决】求助数据库操作语句问题!谢谢!