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日

相关推荐

  • 求助:wincc7.0 有个图形突然无法打开

    我用的是wincc7.0 sp2 ,前面一直用得好好的,今天在XP电脑上面能够打开,但是到win7系统下面就这个图无法打开,其他的都没问题。不知道这个图能有啥问…

    2018年12月14日
  • wincc 授权

    如何删除WINCC授权 最佳答案 打开C盘….找到"AX NF ZZ"目录…进入授权文件夹…..然后和A…

    SIMATIC WinCC 2019年6月11日
  • SMART V2.4 modbus TCP服务器ID号如何设置

    说明书上写的自动生成ID号,但是与wincc通讯时,wincc侧从站ID如何设置呢? 最佳答案 可以填写255。 提问者对于答案的评价:

    SIMATIC WinCC 2020年11月1日
  • Wincc flexible RT运行模拟器_模拟选项中的Sine怎么理解?

    今天看了看网上的教程,有个疑问:如题,如图,INT的数据类型中,Sine怎么理解啊? 图片说明:    最佳答案 就是像正弦那样的变化,那里面的下拉菜单不是还有…

    SIMATIC WinCC 2017年11月16日
  • winCC老卡这一半进度进不去

    最近出现的,以前没有,用的是7.0版本。 最佳答案 这样,两种解决办法:1,项目移植,重新移植一个项目进行激活;2,把你项目文件打开,找到报警记录和归档记录,把那里面的记录都移到其…

    SIMATIC WinCC 2021年7月5日
  • Wincc 7.0用C如何让按钮动作后延时让一个变量置位。

    如图上所示,在按钮动作后弹出一个询问框,本人想让“WINNCC开车_K1”这个2进制变量,在点击YES后,先动作2秒后在断开,请问这段语言该怎么写?谢谢。 图片说明:  …

    2018年12月9日
  • WinCC三维动态图

    请问WinCC三维动态图如何绘制,通过Soildworks画出的图除了截图以外还可以怎么导入使用,或者有其他方式能够导入图形吗?需要三维动态图 问题补充:是这样的,三维图是可以画,…

    SIMATIC WinCC 2021年7月5日
  • WINCC 问题

    WINCC的外部变量的最大允许数量是什么意思?      什么是外部变量?好象还有什么多少个点之说吗?是什么? 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • 输入输出域

    做了一个登陆画面,密码区和用户名区采用输入输出域,设置为输入域,字符串格式,使用没有问题,但是没有输入数据是总显示0.0,请教如何去掉这个0.0的显示 问题补充:打开输入/输出域的…

    SIMATIC WinCC 2019年6月11日
  • STEP7传递变量时如何多个变量一块传?

    STEP7集成WINCC,传递变量,在符号表中右键点击某行,特殊对象属性,选中操作员监控,我想问,如何多行同时选中,一块传递? 我用SHIFT选中多行,不行啊 …

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论