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归档数据存放在Excel

    WinCC的归档数据怎样存放在Excel中? 问题补充:具体在哪啊,我怎么找不到我想要的啊? 最佳答案 给你邮箱fewjun@yahoo.cn发了一份资料,参考一下。 提问者对于答…

    SIMATIC WinCC 2019年6月11日
  • simatic wincc

    能告诉我protool怎样安装吗 我怎么安装不上去呢 最佳答案 对啊 照着过程一步一步往下 把问题标签列出来 还有就是如果在step7里边做…

    SIMATIC WinCC 2018年3月6日
  • wincc C函数问题

    用C语言写电机的状态返回值,不同值代表不同颜色,现在要求,读取开反馈为1,关反馈为0则返回值为1,而开反馈为0,关反馈为1则返回值为0,现在不明白的是开=1且关=0的语句怎么写,希…

    SIMATIC WinCC 2017年11月1日
  • 大量变量需要趋势图

    有几百个变量归档,需要组态趋势图,应该怎样做才能美观简洁呢?求大神指导,最好能给个案例 最佳答案 几百个变量放在一个图上是不现实的,你如果会脚本编程,可以通过按钮改变趋势控件连接的…

    SIMATIC WinCC 2021年7月5日
  • wincc 怎样编译

    能否通过s7plcsim5.4实现wincc模拟编译。 plcsim5.4能否同时打开两个cpu窗口,或是一个cpu一个pc 进行模拟 最佳答案 1.&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WINCC 7.4 用项目复制器复制项目到另一台电脑上,复制成功后一秒自动删除了,来大牛

    四台电脑,两台服务器两台客户端,两台服务器用项目复制器复制的时候,都复制成功了,过了一秒,自己自动删除了!没有解决办法了,求帮助,什么方法都用过了,不过不能自己拷贝到另一台电脑上,…

    SIMATIC WinCC 2020年11月1日
  • wincc组态脚本资料

    在WINCC的复杂组态中需要用到C/VB来组态,请问哪位大哥有C脚本方面的学习资料 问题补充:为什么跟我们平时学的C有不同的地方 最佳答案 《WinCC脚本应用》: ht…

    SIMATIC WinCC 2019年6月11日
  • 急急急!请教现场客户机访问不上WINCC服务器的问题?

    现场有7台客户机连接这台服务器,服务器用的是SERVER 2016 STANDARD,WINCC用的是7.4 SP1,之前运行了3个月都没有问题,前两…

    2021年7月5日
  • wincc激活

    WINCC在激活时出现向打印机传数据的对话框,取消键不能用,是什么问题?请那位高手解答一下谢谢了!!!! 最佳答案 楼主看一下,是不是在WinCC项目管理器中的“计算机”–“属性…

    SIMATIC WinCC 2019年6月11日
  • 内部变量和外部变量

    我想请教各位我什么时候该建内部变量,外部变量是不是就是PLC的那些点? 最佳答案 内部变量就是指只需要在该WINCC内部中调用读写,不跟外界交换数据信号等,可以任意的添加内部变量而…

    SIMATIC WinCC 2019年6月11日