VBS创建数据库及数据库数据写入

Option Explicit
Function action

Dim BS201
Dim BS202
Dim BS200

Dim RM_MASTER    '判断是否执行全局脚本

Set RM_MASTER = HMIRuntime.Tags("A33")
RM_MASTER.Read
If RM_MASTER.Value = 1 Then 


Set BS201 = HMIRuntime.Tags("ChannelOut1")
BS201.Read()

Set BS202 = HMIRuntime.Tags("ChannelOut4")
BS202.Read()

BS200 = BS201.Value + BS202.Value

'//DATABASE
Dim objAdoConn
Dim objRecordset
Dim objCommand
Dim strAdoConn
Dim strSQL
Dim retVal
Dim FrontstrSQL
Dim BackstrSQL
Dim BSstrSQL

Set objAdoConn= CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")

Set strAdoConn = HMIRuntime.Tags("ADOConnectStr")
strAdoConn.Read()


objAdoConn.CommandTimeout=5
objAdoConn.connectionstring = strAdoConn.Value 
objAdoConn.CursorLocation = 3'//important

objAdoConn.open

BSstrSQL ="insert into BSData(RecordTime,BS201,BS202,BS200,TimePointStr"&_
             ")values"&_
             "('"&Now()&"','"&BS201.value&"','"&BS202.value&"','"&BS200&"',0,'00:00')"           

  
      objAdoConn.Execute FrontstrSQL
      objAdoConn.Execute BackstrSQL        
      objAdoConn.Execute BSstrSQL  
      If Err.Number<>0 Then
             MsgBox Err.Description       
             Err.Clear

         End If

objRecordset.close
Set objRecordset = Nothing
Set objCommand = Nothing
objAdoConn.close
Set objConnection = Nothing

'RM_MASTER.Value = 0

Set M_MASTER.Value = HMIRuntime.Tags("A33")


    '1#通道报警处理
    '(LLA)
'If objtag2.Value < objtag60.Read Then
 tag1.Value = 0
 tag1.Write 'statements


End If 


我用的是SQL2008R2,因是初次使用VBS脚本配合wincc,上面是我写的数据写入数据库脚本,可是SQL内部没有我写的数据,是不是缺少创建数据库脚本,有没有详细一点的操作步骤,SQL需不需要设置?

最佳答案

SQL本身不需要设置,但是做这个第一步是建立一个数据库并且建立数据库表,这个一般是手动在SQL里建立的,其次,你的脚本的SQL语句字符串必须要与相关的表一致,尤其是检查字段名,先确定是否连接成功,然后在数据库里测试好语句,最后两者结合,成功率就是100了。2606352062欢迎交流

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • wincc 7.5 画面变量拖拽问题

    官方教程上说明,wincc7.4都有了变量拖拽方法,可以节省时间,可我用的wincc7.5做画面时为什么变量里都是空的,没有变量,实际我已加了很多的变量,为什么看不见谢谢 图片说明…

    2020年11月1日
  • wincc7.3 声音报警

    请问wincc使用7.3怎么做声音报警,有几种方式 分别是啥 ,有没有实例程序 ,细节介绍有吗 ?我需要声音报警 ,最好是简单的不…

    SIMATIC WinCC 2021年7月5日
  • WINCC与单片机的通信

    我想将wincc中的数据通过串口发送到一个单片机上用于显示。应该如何做? 最佳答案 你非要这样做也无可厚非,可以在wincc脚本中编程通讯。论坛有很多人有过这种想法。(这样相当于绕…

    SIMATIC WinCC 2019年6月11日
  • wincc全局库的tank和pipe里的图形

    wincc全局库的tank和pipe里没有图形,而在motors和pump里边有图形,请教如何解决? 最佳答案 文件损坏,建议重新安装。可以尝试从另一台安装有WinCC的计算机中将…

    SIMATIC WinCC 2018年3月6日
  • wincc工程项目仅在演示模式下运行,缺少授权文件WinCC RC/RT

    我是初学者,将64位系统下的某wincc项目通过project duplicator另存为在U盘上,同时在32位工控机上打开该项目,显示缺少授权文件。已知在两台电脑上授权…

    2017年5月29日
  • wincc flexible如何实现通过BOOL实现按钮的操作许可

    想通过BOOL信号为on时允许操作,bool信号为off时按钮不允许操作 最佳答案 不用这么复杂,按钮本身属性里有这个功能,如图在属性-动画-启用对象中设置你的BOOL变量即可。 …

    2017年11月18日
  • WinCC 变量归档

    请问高人为什么我在WinCC中设置变量归档后在项目文件夹中没有ArchiveManager文件夹呢,也没有所谓的数据库文件。 最佳答案 是不是没有启用项目的归档 在WIN…

    SIMATIC WinCC 2019年6月11日
  • wincc报警记录为什么只能显示最近1000个啊?

    以前的自动删除了吗? 最佳答案 报警控件一次最多装载1000条报警记录。因此,如果在设定的时间范围内,比如1天,超过1000条的话,那么超过部分的报警通过翻页是翻不到的。可以通过设…

    SIMATIC WinCC 2019年6月11日
  • 在WinCC中,如何编写控制对象的传递函数

    我在做WinCC与step7的PID控制程序仿真过程中,要用到控制对象的传递函数,但不知如何实现。哪位高手肯指点一下。我的QQ是568718386.谢谢。 最佳答案 请参考:&nb…

    SIMATIC WinCC 2019年6月11日
  • EXCEL WINCC

    客户在一个EXLEL数据中建立一组数据,此数据作为数据配方要导入到WINCC中1.大家有和思路,是直接导入到WINCC变量中还是导入到用户归档中?2.安装WINCC7.0后发现,打…

    SIMATIC WinCC 2017年8月26日

发表回复

登录后才能评论