访问数据库

Sub OnClick(ByVal Item)  
 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_DemoV6_08_05_19_10_18_29R;"
 sSer="Data Source=.\WinCC"
 sCon=sPro+sDsn+sSer
 sSql="TAG:R,''PVArchive1\Tag1'',''0000-00-00 00:10:00.000'',''0000-00-00 00:00:00.000''"
 ''sSql="TAG:R,1,''0000-00-00 00:10:00.000'',''0000-00-00 00:00:00.000''"

 MsgBox"Open with:"&vbCr&sCon&vbCr&sSql&vbCr

 
 Set conn=CreateObject("ADODB.Connection")
 conn.ConnectionString=sCon
 conn.CursorLocation=3
 conn.Open

 
 Set oRs=CreateObject("ADODB.Recordset")
 Set oCom=CreateObject("ADODB.Command")
 oCom.CommandType=1
 Set oCom.ActiveConnection=conn
 oCom.CommandText=sSql

 
 Set oRs=oCom.Execute
 m=oRs.RecordCount

 
 ListView1.ColumHeaders.Clear
 ListView1.ColumHeaders.Add,,CStr(oRs.Fields(1).name),140
 ListView1.ColumHeaders.Add,,CStr(oRs.Fields(2).name),70
 ListView1.ColumHeaders.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
 这是深入浅出的的一段OLE-DB访问数据库的脚本程序(部分修改),可是为什么我在测试时,在点击按钮后只弹出对话框,而我的Listview无数据显示,时间部分我试过了用绝对时间根据现系统时间:2008-07-02 09-12-50  2008-07-02 10-12-50,可还是不行啊,点击对话框后还是无显示

问题补充:
sSql=" TAG:R,''PVArchive1\Tag1'',''0000-00-00 00:10:00.000'',''0000-00-00 00:00:00.000'' "这个没问题啊,双引号可能是我复制时造成的

最佳答案

VBS脚本问题最多,他边解释边执行,有时候程序执行1半就没有下文了。要是脚本里边有汉字更是老火。建议你设置几个测试点。比如
 我就是人为写一些类似MsgBox "1",,"Message"的弹出消息放在程序中 这样就可以看到程序到底执行到什么地方出了问题。一点一点的排除 最后就会锁定到某一句 呵呵。

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • WinCC与S7-200通过modbus通讯

    现在S7-200程序和WinCC 项目作好了,但是通讯通不上。刚做时编了个简单的程序和项目,通讯通上了。感觉设置应该没问题,但就是通不上,我现在应该从那个方面入手解决问题…

    SIMATIC WinCC 2019年6月11日
  • 报表显示和打印

    我用的wincc6.2,带的数据库为sql server 2005,我用水晶报表做的报表,想问一下可以在wincc界面上添加一个按钮,点击的时候就能调出并显示相…

    SIMATIC WinCC 2019年6月11日
  • 如何使用WinCC和S-300进行仿真

    我的WinCC界面和PLC程序已做好,为了验证他们的可靠性和有效性,如何对他们进行仿真?WInCC(V6.2)和STEP7(V5.4)都在同一台电脑上。其中PLC程序里面包括PID…

    SIMATIC WinCC 2019年6月11日
  • vb脚本中对应OpenPicture的函数

    vb脚本中对应OpenPicture的函数是什么? 最佳答案 设置HMIRuntime对象的BaseScreenName属性即可 提问者对于答案的评价:ok

    SIMATIC WinCC 2019年6月11日
  • 无效的动态对象名

    保存画面时提示画面中有无效的动态对象名。无效的动态对象名是什么?怎么解决这个问题? 最佳答案 可能是画面对象的某属性中写的脚本有问题,即脚本中指向的对象名不存在。保存画面时应该有诊…

    SIMATIC WinCC 2019年6月11日
  • 恢复删除的按钮

    我在图形编辑器主画面上删除了历史曲线按钮并保存了。怎么恢复按钮?可以在打开wincc时可以重新打开历史曲线? 最佳答案 如果删除了并保存是无法再恢复了。只能重新编辑一个该函数的按钮…

    SIMATIC WinCC 2021年7月5日
  • 安装问题wincc7.3

    wincc7.3安装过程出现必须满足以下要求才能安装SIMATIC WINCC/Excel Workbook需要下列产品:产品DataMonitor …

    2021年7月5日
  • wincc如何启动运行便自动运行全局脚本,添加全局运行系统我知道

    wincc如何启动运行便自动运行全局脚本,添加全局运行系统我知道,关键是如何触发项目函数再不打开画面的情况下,就是后台运行。 问题补充:回答我看了,可能你们没明白我的意思&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WINCC 7.4 SP1 WEB发布,不能操作

    大家好,我用WINCC 7.4 SP1进行WEB发布后,在客户机的浏览器能浏览到画面但是无法操作,这是什么问题呢?(按钮点了没反应、IO域无法输入) 钻石用户推…

    SIMATIC WinCC 2021年7月5日
  • 怎样用protool在MP370画面中设置登陆密码

    如题! 最佳答案 对于TP170A/TP170 Micro项目,使用模拟器时用户登陆对话框可以弹出,而实际在面板上运行时,无法弹出。所以需要您自己来组态TP170A/TP…

    SIMATIC WinCC 2019年6月11日