wincc数据库的读取

我安书上的代码写到按钮的事件里面,用listview显示数据,代码如下:
 Dim sPro 
 Dim sDsn 
 Dim sSer 
 Dim sCon 
 Dim sSql 
 Dim conn 
 Dim oRs 
 Dim oCom 
 Dim oItem 
 Dim m,n,s
 '#为ADODB创建connection string

 

 sPro = "Provider=WinCCOLEDBProvider.1;"

 sDsn = "Catalog=CC_yt080313_08_06_14_08_59_34R;"

 sSer = "Data Source=server2\WinCC"

 sCon = sPro + sDsn + sSer

 

 '#在sSql定义命令文本(相对时间)

 
 'sSql="select * from "
 sSql = "TAG:R,'monishuju/ws1 ','2008-07-29 15:00:00.000','2008-07-29 15:14: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

 
 MsgBox "aaaaaaaaaa"
  '#使用命令文本进行查询

 

 Set oRs = CreateObject("ADODB.Recordset")

 Set oCom = CreateObject("ADODB.Command")

 oCom.CommandType = 1

 Set oCom.ActiveConnection = conn

 oCom.CommandText = sSql

 

 MsgBox "bbbbbbbbbbbbb"

 '#填充记录集
 MsgBox "cccfffffff"

 Set oRs = oCom.Execute 

 m = oRs.Fields.Count

 MsgBox "ccccccccccccccc"

 'm=oRs.RecordCount

 

 
 '#用记录集填充标准listview对象

 

 ListView1.ColumnHeaders.Clear

 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 240

 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 140

 ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 140

 If (m > 0) Then

 oRs.MoveFirst

 n = 0
 MsgBox "dddddddddddddddd"
 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 > 100) Then Exit Do

 oRs.MoveNext

 Loop

 oRs.Close

 Else

 

 End If

 

 Set oRs = Nothing

 conn.Close

 Set conn = Nothing

 但是当代码执行到:Set oRs = oCom.Execute 时就不再执行了,请高手指点一下这是怎么回事呀,我看过以前的帖子但是还是没有找到解决办法
 

最佳答案

sSql = "TAG:R,'monishuju/ws1 ','2008-07-29 15:00:00.000','2008-07-29 15:14:00.000'"
 应该是:
 sSql = "TAG:R,'monishuju\ws1 ','2008-07-29 15:00:00.000','2008-07-29 15:14:00.000'"

 归档名与归档变量之间用反斜杠“\”隔开。
 

提问者对于答案的评价:
谢谢,解决了,不过帮助里的代码和书上的代码有问题,改了之后才调试成功,大家注意呀,呵呵

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

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

相关推荐

  • wincc c 怎么控制combox控件

    怎么添加内容 问题补充:用C 脚本做 最佳答案 建议你参考一下下面的方法——http://www.ad.siemens.com.cn/service/answer/sol…

    SIMATIC WinCC 2018年12月2日
  • Wincc7.4中rulercontrol控件添加一计量单位列,如何实现?

    如题,想请教下标题中的需求如何实现。rulercontrol关联的是趋势控件。 问题补充:请问我这里的数据源是 趋势控件TrendControl,其属性面板里面似乎没有明…

    SIMATIC WinCC 2021年7月5日
  • Wincc v6.2报警记录和变量记录运行问题

    我公司有一台Wincc V6.2上位机监控系统,在重启电脑后出现“CCWriteArchiveServer.exe"遇到问题需要关闭的报错信息,在启动选项中将变…

    SIMATIC WinCC 2017年7月25日
  • wincc能不能归档"文本变量8位字符集"的变量

    最佳答案 过程值变量归档不支持文本变量。 但可以用用户归档来解决。 提问者对于答案的评价:谢谢

    SIMATIC WinCC 2019年6月11日
  • wincc flexible 系统更新

    wincc flexible 系统OS更新时,传送中断,触摸屏无法启动,怎样用软件处理?谢谢。 最佳答案 最好把什么屏说一下,有没有网口。比更新OS更狠的就足恢…

    SIMATIC WinCC 2021年7月5日
  • 两个装有wincc的电脑通过以太网通信

    有没有相关手册资料什么的啊, 谢谢各位! 最佳答案 既然以太网之间已经能通讯了,可以直接发布服务器数据包,然后各自装载对方的数据包就可以了,这就是西门子的分布式系统架构。…

    SIMATIC WinCC 2019年6月11日
  • WINCC连接的接口问题

    我们单位要做一个改造,在有上位机和PLC的基础上增加一个触摸屏,以达到上位机出现故障时能使用触摸屏操作的目的。 现在的状态是上位机安装WINCC6.0软件,工控机使用CP…

    SIMATIC WinCC 2019年6月11日
  • wincc组态问题

    有22台设备,通过DP协议连接,现在已经连接上了18台,另外4台地址和波特率都没有问题,但就是连接不上,对硬件DP 接头也检查过了,但还是没有结果.现在还有一个问题,就是…

    SIMATIC WinCC 2019年6月11日
  • 这里没有提到msgbox用于调试脚本的方法

    WinCC 脚本诊断系列 – 如何快速诊断 WinCC 脚本错误 课程编号:V2746 您在使用WinCC时遇到脚本错误该如何应…. 点击这里,打开新窗口观看完整视频 该视频下…

    2021年7月5日
  • winn tcp/ip

    目标:我想用wincc 作为上位机通过modbus-rtu向下位机读数;下位机和wincc之间有一个485转以太网的模块。出现的问题:wincc上位机读取是设备ID&nb…

    SIMATIC WinCC 2017年5月31日