wincc对SQLserver数据库操作

请问哪位大侠有wincc对SQLserver数据库操作的 已做好例子,请发我邮箱谢谢wzw2008_80@126.com

最佳答案

给你一段代码供你参考,代码参考自深入浅出西门子wincc和技术论坛,简单修改就可i在wincc里用,vb测试通过.
 Dim sPro
 Dim sDsn
 Dim sSer
 Dim sCon

 Dim sSql

 Dim oRs

 Dim conn

 Dim oCom

 Dim oItem

 Dim m, n, s

 Dim hourdate

 Dim secdate

 Dim k

 

 ''定义变量,VBS使用变体类型,无需指定数据类型,否则编译出错

 ''Set listview1 = ScreenItems("listview1") ''使用Listview控件

 ListView1.View = 3
 ListView1.ListItems.Clear

 ''//定义控件属性

 sPro = "Provider=WinCCOLEDBProvider.1;" ''//定义服务提供者

 sDsn = "Catalog=CC_lyf_07_12_30_09_17_21R;"

 sSer = "Data Source=.\WinCC"

 sCon = sPro + sDsn + sSer

 ''//定义连接字符串

 sSql = "TAG:R,''ProcessvalueArchive\NewTag'',''2008-1-9 5:19:20.000'',''2008-1-9 5:22:00.999''"

                
 ''//访问压缩归档的SQL语句,非压缩归档使用SELECT语句,用法见SQL

 ''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

 ''//标准的ADO访问,下面是输出到Listview的代码

 m = oRs.RecordCount
 Text1.Text = m
 Text2.Text = oRs.Fields(3).ActualSize & "-" & oRs.Fields(3)
 With ListView1

 .ColumnHeaders.Clear

 .ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 780

 .ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 900

 .ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 1050

 .ColumnHeaders.Add , , CStr(oRs.Fields(4).Name), 1200

 

 End With

 If (m > 0) Then

 oRs.MoveFirst

 n = 0

 Do While Not oRs.EOF

 n = n + 1

 ''s = Left(CStr(oRs.Fields(1).value), 23)

 s = CDate(oRs.Fields(1).Value)

 k = DateAdd("h", 8, s)

 Set oItem = ListView1.ListItems.Add()

 oItem.Text = k

 oItem.SubItems(1) = FormatNumber(oRs.Fields(2).Value, 1)

 oItem.SubItems(2) = Hex(oRs.Fields(3).Value)

 oItem.SubItems(3) = FormatNumber(oRs.Fields(4).Value, 1)

 

 oRs.MoveNext

 Loop

 oRs.Close

 Else

 End If

 Set oRs = Nothing

 conn.Close

 Set conn = Nothing
 

提问者对于答案的评价:
厉害

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

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

相关推荐

  • 关于归档备份?

    wincc中在组态过程值中涉及到归档备份,问一下“归档备份”的作用是什么? 问题补充:能提供点相关资料么? 最佳答案 归档备份的作用就是怕原数据损坏用来还原原数据. 提问者对于答案…

    SIMATIC WinCC 2019年6月11日
  • wincc读取PLC时钟

    wincc读取PLC时钟 最佳答案 如何使用 WinCC 全局脚本访问系统时钟(经典WINCC)https://support.industry.siemens…

    SIMATIC WinCC 2020年11月1日
  • WINCC6.0PROFIBUS通讯

    请问WINCC6.0和STEP7315-2DP进行PROFIBUS通讯需要设置哪些东西?我是初学者。如果有资料请发我邮箱TT270141046@163。COM 最佳答案 可以参考相…

    SIMATIC WinCC 2019年6月11日
  • WinCC_flexible_2008_SP4安装问题22

    WinCC_flexible_2008_SP4卸载安装,出现了这个问题,见图片,不能安装,有不有什么办法解决。 图片说明:    最佳答案 按链接中的方法改注册…

    2021年7月5日
  • 在华为服务器上装win cc

    是2003SP2的系统,可是就是装不上。老是让我按SP2的KB/可是光盘上没有。网上也下不来。这可怎么办 最佳答案 步骤如下: (1)先安装WindowsXP …

    SIMATIC WinCC 2019年6月11日
  • 如何修改WinCC V6.X的归档记录数值?

    我在在线报表控件中修改归档记录数值时,提示“写操作时出错。相应的数据库可能已经移开或为写保护”。有人说是授权问题,但我把“归档编辑”的权限选上还不行,请大侠们帮我啊,谢谢 最佳答案…

    SIMATIC WinCC 2021年7月5日
  • wincc6.2菜单和工具栏如何使用

    1.wincc6.2>菜单和工具栏:在菜单和工具栏中新建一个工具栏,请问如何在画面上显示这个工具栏,并使用它. 2.如果我想达到一个效果:建立5个画面,然后在下拉菜…

    SIMATIC WinCC 2019年6月11日
  • wincc历史数据查询

    WINCC的历史数据记录查询,我想把查询时间范围用数据输入的形式输入,然后再设置个按钮,来查询,应该怎么做? 最佳答案 1.什么也不用做,使用OnLineTrend控件自带工具按钮…

    SIMATIC WinCC 2019年6月11日
  • 有谁知道西门子WINCC V7.4 SP1 Asia RT28的硬件狗大概多少钱么

    调试阶段给弄丢了,现在愁死了,破解也破解不了 最佳答案 教训,硬狗最好要业主接手才可插上用。问下代理商吧。 提问者对于答案的评价:现在想知道大概什么价位。心里有个谱

    SIMATIC WinCC 2021年7月5日
  • c脚本怎样把字节数组转换成浮点数?

    在plc的数据块中定义了real数组array[0..1000] real,然后通信发送给Wincc定义的原始数据类型变量raw1,在脚本中用GetTagRaw将数据存放…

    SIMATIC WinCC 2017年12月9日