访问数据库

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 V7.0问题,难解

    WIN7 系统中安装了wincc v7.0 sp3,打开项目显示cannot open wincc project–p…

    2018年12月3日
  • WCC激活时间太长

    我如果在一进入WCC项目管理器后立即激活,每打开一个画面都要经过很长时间。如果进入画面编辑器并打开任意画面后激活,画面的切换就很快,请问这是什么回事,是否是什么地方没有设置好。多指…

    SIMATIC WinCC 2019年6月11日
  • 能否提取字符串中的一位,转为ASC

    在编程时遇到需要从一个产品序号中提取第三位,然后转为ASC码,第三位是大写字母。现在做的程序中定义TITTLE为string类型,LEFT为保留左边两位,然后RIGHT为保留右边一…

    2020年11月1日
  • 图形编辑

    wincc可以把几个图形打成一个智能单元吗? 最佳答案 你可以 将几个对象选择后 点击右键 然后选择自定义 我记不起到底是什么选项了&nbs…

    SIMATIC WinCC 2019年6月11日
  • wincc如何加脚本实现步进控制

    现场是这样,底层S7-400搭配各个输入输出,上位机用WINCC来显示。由于S7-400编程步进控制这块实现起来特别麻烦,又没法用DCS系统来改造。想用WINCC做个类似的控制器,…

    SIMATIC WinCC 2019年6月11日
  • 2台wincc服务器冗余

    2台WINCC服务器如果冗余,我在冗余设置里面怎么只能看到COM设置,看不到以网卡冗余的方式 问题补充:在设置的时候我电脑上连COM设置都显示无 最佳答案 WinCC V…

    SIMATIC WinCC 2019年6月11日
  • 数据归档的重复记录

    我的wincc数据记录设定的是当数据改变时归档。 但wincc上电运行时,会首先记录一次(可能上电时wincc认为此时数据发生了改变),怎样才能避免此类重复记录。 最佳答…

    SIMATIC WinCC 2019年6月11日
  • wincc 浏览器打开超级慢,输入用户名时反应也超级慢

    wincc 浏览器打开超级慢,输入用户名时反应也超级慢处理过程:wincc清理电脑碎片整理垃圾清理电脑重启均没有用 钻石用户推荐最佳答案 网页浏览别的时候怎么样?如果也卡…

    SIMATIC WinCC 2021年7月5日
  • 开方问题真的那么难吗

    A,B为PLC中两个设定值变量,在WINCC里给的数据类型为32浮点型。新建按钮,按钮按下时想让A的值开11次方然后赋给B。作C脚本如下:SetTagFloat("B&q…

    SIMATIC WinCC 2019年6月11日
  • 300和200通信时数据不一样怎么办

    CPU314带CP343路由模块,CPU21带CP243路由模块,通过交换机和和wincc工控机通信。请问:wincc里选通信方式时是选工业以太网还是TCP/IP啊?300能否通过…

    SIMATIC WinCC 2017年11月12日