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

相关推荐