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日 上午9:54
下一篇 2019年6月11日 上午9:54

相关推荐

  • wincc项目移植器

    用TOOLS里的项目移植器,一步一步往下点,最后提示找不到数据换出的路径是怎么回事啊 问题补充:我用的是WINCC6.0 英文路径试过了,还是不行 最佳答案 你的机器是否…

    SIMATIC WinCC 2019年6月11日
  • 各位师傅能否帮我看下这是怎么回事?

    wincc在运行过程中出现这个画面,在激活的时候出现另一个画面是什么原因造成的呢 希望师傅指点 图片说明:       最佳答案 …

    2021年7月5日
  • WinCC VBS脚本触发

    在WinCC中想使用对一个控件的属性进行操作,编写VBS脚本之后,保存时出现: “带循环触发器的1动作 循环动作导致系统高负载。如果可能使用触发器变量”提示&n…

    SIMATIC WinCC 2019年6月11日
  • 程序语句问题

    在程序中遇到语句FormatNumber(Avg,2),是什么意思? 最佳答案 avg这个变量的值保留两位小数数。 提问者对于答案的评价:谢谢各位热心的帮助!

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible SMART V3 组态报警视图

    报警,报警事件,报警记录,这三个有什么不同?报警事件能保存多少条记录,并保存多久?断电后是否受影响? 最佳答案 1.报警     …

    SIMATIC WinCC 2021年7月5日
  • WinCC的故障

    每次用step7打开一个程序时总是弹出一个窗口,如图,而且WinCC和PLC(仿真连不上),不知什么原因 最佳答案 wincc仿真跟正常使用一样 只是选择逻辑设备名称的时…

    SIMATIC WinCC 2021年7月5日
  • 中英文切换,WCC是英文,系统是英文版

    小弟遇到一问题,不知道怎么做了1、文本库的文本是报警记录的文本吗?是不是随着报警记录自己生成的2、由于WCC是英文版,添加的语言室中国(台湾),我把文本库导出来,在中国台湾中输入我…

    SIMATIC WinCC 2019年6月11日
  • WINCC6.2 授权问题,奇怪

    WINCC的RC,RT,ARch,用户归档等授权都装了,为什么激活运行的时候,还会有以下提示:The number of external …

    SIMATIC WinCC 2019年6月11日
  • 数据存储

    Wincc中数据存储第一步是保存数据,第二步读取数据,我在网上看到一个例程,http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=…

    SIMATIC WinCC 2019年6月11日
  • wincc6.0的历史数据能不能导到U盘上然后用Excel打开

    wincc6.0的历史数据能不能导到U盘上然后用Excel打开?我想在画面上做一个按钮。按下后可以把历史数据传送到U盘,然后在别的电脑上用Excel打开 。请问能不能做到…

    SIMATIC WinCC 2019年6月10日