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数据库访问

    以前用VC、jsp访问的是通用的Microsoft_SQL_Server_2k,如果改成用VC、jsp访问wincc自带的SQL_Server数据库,是不是也是很容易实现呢 最佳答…

    SIMATIC WinCC 2019年6月11日
  • wincc通过opc连欧姆龙plc

    本人下载了一个easyopcserver,读取到了plc的数据,使用wincc中的local easyopcserver也连接上了opc,但wincc中的plc点位值都位…

    SIMATIC WinCC 2021年7月5日
  • Wincc密码问题

    我想在触摸屏中的一个画面加密码,目的是防止其他人登陆我这个画面随便修改参数.我该怎么办,请指教!! 最佳答案 首先在左边导航栏的用户管理中建立新的组和用户,添加用户名和密码,并指定…

    SIMATIC WinCC 2019年6月11日
  • wincc浮点数是实际10倍

    WINCC读取AB-PF40P变频器数据,数据类型为浮点数32位IE754,但是显示出来十进制确是实际的10倍,请问怎样才能正常显示?写数据也要10倍数值。 问题补充:可以在WIN…

    SIMATIC WinCC 2019年6月11日
  • WinCC SP1,安装界面无文字说明

    win10企业版,官方下载的7.4 SP1,按照教程等已经打开了各种需要的服务。但是在安装界面里,当点击到某一步的时候,缺少相应的文字说明,搜索无果,有谁遇到了类似的问题…

    2021年7月5日
  • WinCC 7.4,bool变量值=0报警记录

    如题,WinCC 7.4,bool变量=0报警,报警记录里组态勾选了"被归档“与下降沿”,但是每次wincc启动的时候都会生成变量值=0时相应的报警信息,有没有…

    SIMATIC WinCC 2020年11月1日
  • wincc激活了,不能WIN+D进入显示桌面?

    我截了一个激活中的画面,想进行编辑,每次必须按ALT+F4去关掉WINCC,才能进行WINDOWS操作,这样一来,我必须重新停止WINCC的激活,然后再点激活才能进入画面,好费时间…

    SIMATIC WinCC 2019年6月11日
  • 用c脚本做循环加

    我按照例子做了一个循环加的c脚本: DWORD value; value=GetTagDWord("TAG1"); va…

    SIMATIC WinCC 2019年6月11日
  • wincc felcible问题求助

    在做1个项目,用到触摸屏中的数据记录,记录1个PLC开关量的动作开关状态,什么时候ON为1的,一直记录下来,显示时间,时期,保存6个月的,方便查询,不知道怎么做,用报警记录还是数据…

    SIMATIC WinCC 2020年11月1日
  • 如何组态模拟量报警?

    有个压力值要求低于1公斤或者高于5公斤报警,在WINCC里如何组态? 最佳答案 1.在动态值范围窗口,表达式/公式里面输入:“压力变量”<0.1数据类型:直接就可以做为下限报…

    SIMATIC WinCC 2018年12月6日

发表回复

登录后才能评论