访问数据库

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日 下午12:44
下一篇 2019年6月11日 下午12:44

相关推荐

  • 如何提高wincc S7 300 通讯速率

    S7 315-2dp  CP5611-MP1  wincc 通讯   速率 18…

    SIMATIC WinCC 2018年12月7日
  • 组对象如何使用

    winccflexible中的“组”对象如何使用?如何控制“组”的显示和隐藏?非常着急,请高手赐教!请给出详细的步骤! 最佳答案 组对象是由各个单一变量组态好后组合而成。点击组对象…

    SIMATIC WinCC 2021年7月5日
  • wincc在线趋势为什么总显示零

    wincc在线趋势为什么总显示零 最佳答案 问题描述尽量详细点,能附图更好,这样只能猜。1、变量地址错误?2、变量记录未添加?3、实际数值就是零? 提问者对于答案的评价:确实是 最…

    SIMATIC WinCC 2021年7月5日
  • wincc与224与TP177A

    wincc与224与TP177A通信,我要做个中央空调的控制系统,现在要求PLC上有一个触摸屏和一台电脑进行控制,由于224上己经加了7个模块,所以EM277就加不了了,走不了DP…

    SIMATIC WinCC 2019年6月11日
  • 如何做一个块

    各位师傅;  我是一名新手,有个问题望大家多多指教。   我在一个画面中有十多台相同功能的电机,其控制方式也一样,我们做的是一个块…

    SIMATIC WinCC 2019年6月11日
  • wincc记录

    我想在wincc中实现这样的功能:我这里有一个称重的计量斗(重力传感器),用于计量物料质量,当计量斗中的重量达到在wincc中输入的重量后就停止计量,同时记录下此时刻计量斗中的实际…

    SIMATIC WinCC 2019年6月11日
  • Gettagbit gettagbitwait区别

    Gettagbit gettagbitwait区别?还有有谁见过“用变量触发器代替时间触发器”在西门子那个文档上?那上面是讲解怎样减少换面切换延时。 最佳答案 Getta…

    SIMATIC WinCC 2019年6月11日
  • 跪求 Wincc flexible 风机库文件

    跪求 Wincc flexible 风机库文件 图片说明:    最佳答案 我这里有BMP的你可以自己P一下链接:https://…

    2021年7月5日
  • wincc画面显示

    在公司做实验,当wincc在运行时,点击一个按钮后,连接相应的变量显示,当plc 不在运行模式下时,所连接的变量同样显示。当把该画面切换到另一个画面在切换过来时就不显示了…

    SIMATIC WinCC 2019年6月11日
  • wincc静态文本问题

    现在做个项目,用到9个仪表与WINCC进行串口通信,把数据接收过来之后,只会把数据显示在静态文本里,我想把9个数据归档,怎样才能把静态文本转化成内部变量,让数据归档? 程…

    SIMATIC WinCC 2019年6月11日