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

相关推荐

发表回复

登录后才能评论