wincc中用VBS判断数据库是否连上,程序没反应

Dim sPro,sDsn,sSer,sCon,sSql,sSql1,oRs,conn,oCom,oItem,n,s,i,oList
sPro="Provider=SQLOLEDB.1;"’Integrated Security=SSPI;Persist Security Info=False;"
sDsn="Initial Catalog=MMTEST;"
sSer="Data Source=192.168.0.100; uid=123; pwd=123456;"
sCon= sPro+sDsn+sSer
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
‘conn.CursorLocation = 3
conn.Open

If conn.State <> 1 Then

MsgBox("")
conn.Close
Set conn=Nothing
Else 
MsgBox("打开数据库")
conn.Close
Set conn=Nothing
End If
WINCC中按钮程序如上,按下之后,如果数据库能连上,可以正常运行,如果数据库连不上,程序没有反应,请高手指点,谢谢!!!

问题补充:
我的主要目的是,如果数据库连不上,如何判断?以上并程序不能判断数据库未连接,只能判断数据库已连接!

最佳答案

问题出在conn.Open这句。
如果连接连上了,这句没问题,程序往下执行;
如果连不上,执行这句后程序就出错了,不往下执行了。
所以解决的方法就是加上一条错误处理程序语句:
On Error Resume Next
功能:当一个运行时错误发生时,程序转到紧接着发生错误的语句之后的语句,并在此继续运行。
将这句放在代码的前面(Dim语句之后)。

提问者对于答案的评价:
方法可行,但是要反应好长时间才能弹出连不上数据库的msgbox

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363235.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论