怎么确认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

相关推荐

  • WINCCD没有注册类

    安装的WINCC7.0SP3打开提示没有注册类,授权什么都有了 问题补充:运行“RESET_WINCC.VBS,是什么意思 最佳答案 1、系统是ghost版本的吗?如果是,建议重新…

    SIMATIC WinCC 2021年7月5日
  • CCWriteArchiveServer.exe CPU使用率占用过高的产生的原因?

    我写了个C#程序,连接WINCC的OPCServer,并对其进行读写,实现控制工业设备的目的。但是,我的程序在运行时间长了之后就会卡死(约10小时),在360里面看到CCWrite…

    SIMATIC WinCC 2017年6月19日
  • 在Wincc用户归档中,用C脚本查询记录的办法?

    在Wincc当中,如何利用UserArc系列函数进行归档记录的查询、写入、删除等操作? 最佳答案 实例:《WinCC操作用户归档User Archive代码 &…

    SIMATIC WinCC 2017年11月25日
  • 结构变量能不能嵌套

    请问WinCC里面结构体变量能不能嵌套,比如先定义一个结构体A ,在结构体B中包含一个A元素。如果能该如何操作。 最佳答案 个人感觉应该是不可以,创建结构变量时只能选择基…

    SIMATIC WinCC 2019年6月11日
  • WinCC趋势问题

    重新对服务器下载后,原来的趋势记录不见了,只能显示重新下载后的趋势,假如要看重新下载之前的趋势能做到吗?怎么做? 问题补充:首先谢谢大侠,历史数据备份的话,哪些文件是必须的? 最佳…

    SIMATIC WinCC 2019年6月11日
  • 用vbs读取归档变量的问题

    实际应用在一个项目中,出现一个问题:有一个变量,在查询一个时间段内的值时,在执行到oRs=oCom.Execute ,就出现一个或多个错误的信息,而把时间缩短后,在这个时…

    2018年12月5日
  • wincc flexible“连接” 界面鼠标无法操作,是什么原因?

    wincc flexible 软件,“画面”“变量”等界面都可以用鼠标正常操作,但是“连接”界面,鼠标无法点击下拉菜单和修改任何的参数,有时候还会出现,我想点击…

    SIMATIC WinCC 2021年7月5日
  • 系统问题1

    zw1996@yeah.net 请问在哪下2000SP4装WCC6.0的KB319740,不是XP的,百度没有啊,或给我邮箱,谢谢 最佳答案 KB319740 …

    SIMATIC WinCC 2019年6月11日
  • 关于以太网数据线的应用

    大家好,今天外方在调试设备时候,仅仅用一根一台以太网线将编程电脑和设备连接起来,就可以在线PLC程序,在线wincc程序等等,省去了PLC等等编程电缆。如此强大功能的以太网通讯,是…

    SIMATIC WinCC 2019年6月11日
  • 实现确定、取消功能

    做一个按钮,点击按钮进入一个子画面:显示确定、取消两个按钮。无论点击哪个按钮都可以实现关闭子画面窗口。且对按钮做出确认。 最佳答案 方法一种:WinCC中打开子画面是通过画面窗口实…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论