SQL2005数据写入

现在用WINCC6.2,SQL2005。在WINCC6.2中用VB脚本实现以下数据写入:
 Dim conn,rs
 Dim biaozhi
 biaozhi = HMIRuntime.Tags("2").Read 
  
 Set conn = CreateObje("ADODB.Connection")
 Set rs = CreateObject("ADODB.Recordset")
 conn.open "Provider=MSDASQL;DSN=student;UID=;PWD=;" 

 rs.open "select * from JILU",conn,3,3
   
 rs.addnew
 rs.fields("时间")=Now
 rs.fields("号")= biaozhi 

 rs.fieldS("量")=FormatNumbe(HMIRuntime.Tags("1量").Read,2) 

 rs.update

 rs.cLose
 Set rs = Nothing
 conn.cloSe
 Set conn = Nothing
 这个脚本在WINCC6.0,SQL2000中可以实现把数据写入数据库中的表,为什么在WINCC6.2,SQL2005中不行?(各种设置一样,就是WINCC版本和数据库版本不同) 
 

问题补充:
我是在WINCC新建的的项目和脚本,数据库是在SQL2000中建的数据库,然后移植到SQL2005中的

最佳答案

以下我在插入到2005是可以的,你感兴趣测试一下。
 Option Explicit
 Function action
 Dim objConnection
 Dim strConnectionString

 Dim strSQL
 Dim objCommand
 Dim objRecordSet
 Dim RecordCount

 Dim DeviceName
 On Error Resume Next
 Dim data(5) 
 Dim i
 For i = 0 To 4
     data(i) = "Null"
 Next
 DeviceName=CStr("1#设备运行状态测试")
 Data(1)=HMIRuntime.tags("Ractor/Motor1.AUT_ON_OP").read 
 Data(2)=HMIRuntime.tags("Ractor/Motor1.QRUN").read 

 If Data(1)="1" Then
 Data(1)="远程"
 End If
 If Data(1)="0" Then
 Data(1)="就地"
 End If

 If Data(2)="1" Then
 Data(2)="启动"
 'MsgBox Data(2)
 End If
 If Data(2)="0" Then
 Data(2)="停止"
 'MsgBox Data(2)
 End If
 'MsgBox Date()&" "&Time() 
 'MsgBox Data(1)
 'MsgBox Data(2)
 ''''Continute to insert data to database
 data(0) ="Insert into Device_record(DeviceName,DeviceTime,DeviceStatus,DeviceMode)values('"& DeviceName &"','"& Date() &" "& Time() &"','"& data(2) &"','"& data(1) &"')"
 'MsgBox data(0)
 strConnectionString = "Provider=MSDASQL;DSN=ZJG_DevDSN;UID=sa;PWD=;" 
 Set objConnection = CreateObject("ADODB.Connection")
 objConnection.ConnectionString = strConnectionString
 objConnection.Open
 Set objCommand = CreateObject("ADODB.Command")
 With objCommand
     .ActiveConnection = objConnection
     .CommandText = data(0)
     'debug.print objConnection.execute(data(0))
 End With
 'MsgBox"ok"
 objCommand.Execute   
 Set objCommand = Nothing
 objConnection.Close
 Set objConnection = Nothing
 For i = 0 To 4
     data(i) = "Null"
 Next
 End Function

提问者对于答案的评价:
我试试看看。谢谢啊

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

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

相关推荐

  • 在wincc中无法调用step7变量

    这两天才发现用wincc调用step7变量需要安装AS-OS插件,而我装的wincc没有安装这个插件,所以在wincc调用step7变量的时候,会弹出“数据输出错误”。不知道论坛的…

    SIMATIC WinCC 2019年6月11日
  • wincc两个项目怎么合并?

    目前有两个单独的wincc项目,需要合并成一个,主要是把定义好的变量合并到一个项目中。 最佳答案 先要看下变量名有没有重复的,要是没有重复的在一个工程里拷贝需要的变量,关闭工程,再…

    SIMATIC WinCC 2019年6月11日
  • 怎么用vbs把wincc一个变量的值送到另一个变量

    简单讲就是让两个变量值相等 最佳答案 在全局脚本里执行,比如建立两个变量分来自两个PLC,Tag1、Tag2,把Tag1写入Tag2HMIRuntiem.Tags("Ta…

    SIMATIC WinCC 2017年6月24日
  • 安装wincc6.0的数据库的问题

    我在装wincc6.0的数据库时到了100%之后就出现错误,setup finish with errors,我的消息队列装了,KB319740和KB…

    SIMATIC WinCC 2019年6月11日
  • wincc/wincc flexible/wincc runtime的区别

    我知道wincc是在pc上组态画面的软件,wincc flexible是在触摸屏上组态画面的软件,我说的没错吧?那wincc runtime呢?还有点疑问就是在…

    SIMATIC WinCC 2017年6月4日
  • 我该如何组态WINCC

    现在我的已经运行的工程上,有3台WINCC控制界面,我又在新装了一台,改如何设置这台电脑,才能和其他3台的功能一样呢,那3台是西门子来人装的,是不是,把我这台电脑的IP地址设成这个…

    SIMATIC WinCC 2019年6月11日
  • wincc可否读取CPU状态信号?

    一般300的CPU有三档 RUN STOP RUN-P在wincc 已plc通讯正常的情况下wincc可以直接读取这三种信号吗???比如说能…

    SIMATIC WinCC 2019年6月11日
  • WinCCv7 变量归档 授权问题

    V7.0.3.1我使用了公司同事给我的授权,在授权管理器中,检查,发现connectivity pack授权,打√,无限制;但是 没有在使用,即没有->符…

    2021年7月5日
  • 获取键盘动作

    按下键盘A切换一个页面,按下键盘S切换到另一个页面!wincc的脚本该怎样写? 最佳答案 先在Wincc里做一个按钮,按钮配置动作“切换画面”,然后打开按钮的属性,找到快捷键属性,…

    SIMATIC WinCC 2019年6月11日
  • 关于按纽的问题

    我想在wincc中实现鼠标指到按纽就让按纽的颜色变化,这该怎么做啊,谢谢各位师傅 问题补充:你们误解我的意思了,我是想让鼠标指到那边就有颜色变化,并不是单击按纽 4楼那钟…

    SIMATIC WinCC 2019年6月11日