怎么确认wincc数据库已经连接上?

书中一段脚本,能显示出MsgBOX,但是不能读出数据库中的数据,请问高手我怎么确认与数据库是否连接上?脚本如下:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)       
Dim spro
Dim sdsn
Dim sser
Dim scon
Dim ssql
Dim conn
Dim ors
Dim ocom
Dim oitem
Dim m,n,s


spro="Provider=WinCCOLEDBProvider.1;"
sdsn="Catalog=CC_wincc_12_02_21_10_39_36R;"
sser="Data Source=.\Wincc"
scon=spro+sdsn+sser

ssql="TAG:R,'PVArchive\NewTag','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000'"
MsgBox "Open with:"&vbCr &scon & ssql& vbCr

Set conn=CreatObject("ADODB.Connection")
conn.ConnectString=scon
conn.Cursorlocation=3
conn.Open

Set ors=CreatObject("ADODB.Recordset")
Set ocom=CreatObject("ADODB.Command")
ocom.CommandType=1
Set oCom.ActiveConnection=conn
ocom.CommandText=ssql


Set ors=ocom.Execute
m=ors.Fields.Count

ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add,,CStr(ors.Fields(1).Name),140
ListView1.ColumnHeaders.Add,,CStr(ors.Fields(2).Name),70
ListView1.ColumnHeaders.Add,,CStr(ors.Fields(3).Name),70

If(m>0)Then
ors.MoveFirst
n=0
Do While Not ors.EOF
n=n+1
s=Left(CStr(ors.Fields(1).Value),23)
Set oitem=ListView1.ListItems.Add()
oitem.Text=Left(CStr(ors.Fields(1).Value),23)
oitem.SubItems(1)=FormatNumber(ors.Fields(2).Value,4)
oitem.SubItems(2)=Hex(ors.Fields(3).Value)
If(n>1000)Then Exit Do
ors.MoveNext
Loop
ors.Close

Else

End If

Set ors=Nothing
conn.close
Set conn= Nothing

End Sub

最佳答案

返回的数据不是空的就显示MsgBOX。其实MsgBOX可以放在任何位置,你怀疑那里有问题就放在那里。

提问者对于答案的评价:
很好,谢谢

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

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

相关推荐

  • WINCC无法正常退出运行系统!

    WINCC用脚本DeactivateRTProject ();做的退出按钮,前几天还可以正常点按钮退出运行系统,可今天再点按钮,一点反应都没有,不能退出了!我重新做了按钮…

    SIMATIC WinCC 2018年12月14日
  • 求教:如何组态MP277的报警?知道手册的同志们指导下!

    怎么组态触摸屏的报警文本?离散量报警和模拟量报警,知道手册地址的告诉下!谢谢1 专家建议 精彩推荐:http://www.ad.siemens.com.cn/service/ans…

    SIMATIC WinCC 2020年11月1日
  • 关于winCC7.3的VBS脚本不执行的请教。

    我是一个初学者,我想再winCC7.0中定义一个按钮,单击按钮实现在d盘下创建一个txt文件,代码是网上搜的:  Dim fso,testfileSe…

    SIMATIC WinCC 2021年7月5日
  • WINCC报警记录

    在WINCC报警记录系统中,我想在一条消息中对应两个时间列,一个为消息到达时间,另一个则为消息离开时间,刚怎么样做才能达到了? 问题补充:长(短)期归档中,保存有该故障达到和离开的…

    SIMATIC WinCC 2019年6月11日
  • wincc编组问题

    是用wincc编组功能,将两个管道wincc库里面自带的管道编组,提示要2个对象! 图片说明:    最佳答案 wincc库里面自带的管道是不能编组的。 提问者…

    2019年6月10日
  • 在Automation licene manager 中删除

    为什么不可以删除,每次删除时会出现Error deleting license keys提示框,内容是The authorization&n…

    SIMATIC WinCC 2019年6月11日
  • 使用KEPServerEX与WINCC通讯,读取modbusRTU的问题

    使用KEPServerEX与WINCC通讯,读取modbusRTU的仪表,仪表通讯说明如下,请问KEPServer中读取的地址应该是多少。本机采用MODBUS协议,RTU从站模式,…

    SIMATIC WinCC 2017年7月26日
  • 多个AI调用同一个趋势控件

    一个项目里面有多个AI变量,如里每一个AI ,做一个趋势的话,就太多的了,现在想做一个趋势控制,通过在画面上点击AI变量,调用该变量的趋势图, 最佳答案 用脚本,举例:W…

    SIMATIC WinCC 2020年11月1日
  • wincc历史趋势控件精度调节

    wincc 历史趋势控件精度怎么调节,我想调成十分钟采集一次的。。一分钟一次太短了 最佳答案 你直接把变量记录的归档周期改成10分钟就好了。 提问者对于答案的评价:谢谢大…

    SIMATIC WinCC 2017年8月15日
  • protool按钮的操作

    用PROTOOL编辑一个正方形按钮,按钮触发一个动作,但按钮上放置了一个比它略小的正方形(它要随一个变量改变颜色),结果导入触摸屏后,只有按到按钮边上时才能触发动作,有什么设置可以…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论