VBS写入数据库

听说贵地有很多大牛,小弟初来乍到,有个问题还请大牛指点指点。
 我在wincc中组态了一个按钮,想单击将一些数据写到我自己建立的database中。
 首先我在windows的datasourse中建立了一个DSN,选择的是SQL server,使用计算机名\WINCC,然后用Enterprise Manager在wincc下建立了一个database叫userrecord,然后创建表单logintime和logouttime。
 然后在wincc用vbs组态,代码如下:
 Sub OnClick(ByVal Item)                   
 Dim objConnection
 Dim objCommand
 Dim strConnectionString
 Dim sqlstr
 Dim username
 Dim logtime
 Dim logday
 username=HMIRuntime.Tags("@CurrentUserName").Read
 logtime=HMIRuntime.Tags("Time").Read
 logday=HMIRuntime.Tags("Day").Read
 strConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=userrecord;Data Source=.\WinCC" 
 Set objConnection=CreateObject("ADODB.Connection")
 objConnection.ConnectionString=strConnectionString
 objConnection.Open
 sqlstr="INSERT INTO userlogin VALUES(""&username&"",""&logtime&"",""&logday&"")"
 Set objCommand=CreateObject("ADODB.Command")
 With objCommand
 objCommand.ActiveConnection=objConnection
 objCommand.CommandText=sqlstr
 End With
 objCommand.Execute
 Set objCommand=Nothing
 objConnection.Close
 Set objConnection=Nothing
 End Sub
 编译没有错误,但是就是运行后,在wincc中登陆后,点击按钮,再用Enterprise Manager查看表单,没有写入任何东西,请大牛执导。小弟万分感谢!!!

最佳答案

建议在调试的时候使用msgbox来确定程序执行到那一步不对了。VBS在程序不对的时候就退出。
 给你一个我用的VBS的例子,可以正常使用,把其中的部分修改一下就可以了 。不需要建立DSN了在程序的连接字符串里指定。
  Dim conn,strConn,SQL,RS 
  SQL="insert ****************"
  ''read database   
     Set conn = CreateObject("ADODB.Connection")
  strConn="Driver={SQL Server};Server=.\WINCC;Database=databasename;Uid=;Pwd=;"
  conn.ConnectionString=strConn
     conn.Open 
     Set rs= CreateObject("ADODB.Recordset")
  rs.Open sql,conn
  view.text=rs.fields("fieldname")  
  rs.movenext
     Set rs=Nothing
  Set conn=Nothing

提问者对于答案的评价:
thank you very much

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

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

相关推荐

  • WINCC EXCLE报表例子

    有WINCC EXCLE报表例子吗,我想试验一下,能给我传一个吗,我的油箱是huanghong198122@sina.com 最佳答案 这里有一个例子可供参考 …

    SIMATIC WinCC 2019年6月11日
  • 博图V13软件安装

    1、软件安装过程中,开始显示剩余15分钟,然后再次提示剩余25分钟,接着就没完没了地提示剩余时间了,感觉到安装没有尽头了。2、电脑系统是window 7 64位…

    2017年6月8日
  • wincc 变量 在那?

    请教前辈 我在WINCC 中建的外部变量(信号通过传感器到PLC),现在我想调用这个变量在LED大屏幕中显示出来,我怎么找便了WINCC的数据库都没有找到我命名…

    SIMATIC WinCC 2019年6月11日
  • 怎么查看WinCC中想要的报警?如何分类显示报警?

    WinCC V7.4 SP1报警消息过滤 课程编号:V1673 本视频详细介绍了如何对WinCC&amp…. 点击这里,打开新窗口观看完整视频 该视频下的所有用户提问列…

    2021年7月5日
  • wincc报警来了确认和到达同时弹出

    为什么在报警记录中,报警信号第一次出现,列表中显示“确认”状态,报警消失显示“离开”状态,以后再出现报警信号“确认”和“到达”状态同时显示,报警消失显示“离开”状态。我只是一个初学…

    SIMATIC WinCC 2019年6月11日
  • WINCC报警弹窗问题

    现在出差报警时 在wincc 画面上弹出一个类似于确认窗口,在全局动作中写的脚本如下,但不执行,请帮忙看看是什么问题#include "ap…

    SIMATIC WinCC 2020年11月1日
  • check box脚本的用法

    我是个初学者,如何在数目为16个boxes中用c脚本编写第1、9使用有效?如果这个提问不正确,我想问的本意就是check box 怎样用c脚本编程?谢谢高手指点…

    SIMATIC WinCC 2019年6月11日
  • 怎样访问wincc的报警记录和变量记录数据库

    怎样能通过SQL语句访问wincc的报警记录和变量记录的数据库。 钻石用户推荐最佳答案 需要使用连通性数据包选件才可以,可按下面实例进行读取在WinCC中如何使用VBS读取变量归档…

    SIMATIC WinCC 2021年7月5日
  • 关于STEP7项目下的PC站的组态

    公司以前做的一个项目,采用的是300的cpu,以太网的通讯,一台CPU连接两台上位机,用交换机连接,两台上位机做的不是多用户项目,只是单用户项目,只是在STEP7的项目下加了两个P…

    SIMATIC WinCC 2017年10月31日
  • wincc怎样得到时间控件的值用脚本该怎样写

    我在wincc界面中添加一个时间控件并绑定了一个变量,我在控件中选择时间时变量值没有变化,我是想做一个时间查询历史数据库,在控件上直接选择时间即可 最佳答案 1.时间控件?WinC…

    SIMATIC WinCC 2019年6月11日