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

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

相关推荐

  • wincc组态软件里图形库用啥编辑软件啊??

    wincc组态软件里的图形用啥软件来编辑图形、充填颜色、修改和调整。谢谢! 问题补充:WINCC内有一个graphics designer 可以修改图,在那里怎…

    SIMATIC WinCC 2019年6月11日
  • 控制面板

    我想在画面中点击某一个电机,出来一个控制面板,控制这个电机,点击另一个电机时,同样出来这个控制面板,控制这台电机,请问怎么实现?需要用间接寻址? 最佳答案 可以使用间接寻址,但对于…

    SIMATIC WinCC 2019年6月11日
  • plc中的程序使用wincc来实现

    在wincc中我们可以使用c动作来实现对一个变量的控制这里我使用了一个c动作来控制电动机的启停。{BOOL temp;temp=GetTagBit("C_Tag…

    SIMATIC WinCC 2021年7月5日
  • 重启机器后wincc趋势图的时间轴起点有2个时间?

    机器突然掉电,重启机器后wincc趋势图的时间轴起点有2个时间(11/30/2009和05/11/2010),曲线图是4条直线,只是在最右端显示很窄很窄的曲线(和一条竖线差不多),…

    SIMATIC WinCC 2019年6月11日
  • wincc7.5双屏操作组态

    通过网上的资料学习,制作wincc双屏操作,一个机箱配置2个显示屏,通过windows的扩展功能,在wincc画面做成两个屏幕的大小,两个屏幕可以显示不同页面都可以操作。制作好后激…

    2021年7月5日
  • 检查操作员站的SCS网络适配器是否已组态并启动

    原先能够正常使用的项目程序,现在重新下载出现“检查操作员站的SCS网络适配器是否已组态并启动”提示不能正常下载Wincc。如何解决? 最佳答案 使用站组态编辑器的方式下载工程。下载…

    SIMATIC WinCC 2017年6月13日
  • WINCC动态填充

    我想实现一个平行四边形的动态填充,要斜着填充,看图 问题补充:谢谢大家 图片说明:    最佳答案 你想这样填充比较麻烦测试了一下,提供个思路:1、做两个一模一…

    2021年7月5日
  • WINCC自动执行的问题

    我用WINCC和S7-300的用以太网通信,中间经过光纤和网络交换机。 在WINCC里做了一些按钮分别远程控制几台泵的启动和停止,现在有台泵总是在没有在WINCC上操作的…

    SIMATIC WinCC 2019年6月11日
  • 用Wincc读取PLC定时器S5T#等时间变量

    我想在wincc上读取PLC定时器的的BCD输出,怎么来实现,有没有高手帮解决一下. 最佳答案 你可以在PLC里面进行转换,把BCD码转换成整数(使用B_int指令),然后在win…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3 项目无法激活

    wincc7.3建的项目,点击激活,出现如下提示。 图片说明:       最佳答案 检查操作系统 系统不可以是ghost的操作系…

    2021年7月5日

发表回复

登录后才能评论