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日
下一篇 2019年6月11日

相关推荐

  • wincc 画面隐藏

    我做了一个水流动的C语言脚本,我想让它在取得一个信号后再显示并且流动,在没有取得信号的时候是隐藏起来的。想问一下C语言脚本怎么编写隐藏功能? 最佳答案 那你就在取得这个信号的时候置…

    SIMATIC WinCC 2017年11月13日
  • wincc项目移植后,点击事件失效

    一个原来好好的项目,6.2版本移植成7.2版本,字体都是?,改了字体后再次移植发现点击事件失效 最佳答案 移植之后画面都是显示问号,那么证明编译语言不正确,在使用WinCC&nbs…

    SIMATIC WinCC 2017年5月28日
  • OPC通信问题

    我现在要利用wincc作为服务器,vc作为客户端,通过opc实现两者的通讯,要求vc端能够读写wincc变量的数据,具体如何实现?还有就是OPCITEMDEF中的参数(szAcce…

    SIMATIC WinCC 2019年6月11日
  • opc xml wincc v6.2

    要安装PC上的WINCC OPC XML服务器,是否系统必须为Windows Server 2003? XP系统可以不? 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • 两套S7-200通过PPI协议与WINCC通讯的问题

    该项目是工控机上CP5611卡通过DP线连接了两套CPU226,1#CPU226的通讯始终正常,2#CPU226的通讯时而会不通。我在两套CPU中分别测试观察了一个实数变量,发现把…

    SIMATIC WinCC 2021年7月5日
  • wincc虚拟键盘无按键

    wincc7.3启用虚拟键盘,有时候不显示按键,是啥情况?怎么解决?重新激活一下就好了,但这样不方便呢,求大神赐教。 最佳答案 虚拟键盘会无按键?https://support.i…

    SIMATIC WinCC 2020年11月1日
  • 用wincc编制完程序后,怎么样能开机运行?能否脱离wincc运行?

    用wincc编制完程序后,怎么样能开机运行?能否脱离wincc运行? 最佳答案 找这个目录下的的运行软件"C:\Program Files\Siemens\Wi…

    SIMATIC WinCC 2019年6月11日
  • wincc v7.4需要购买什么组件

    1.wincc v7.4需要做变量的采集和查询,单机,选用组态和运行系统(RC128),还需要什么组件吗2.如果要通过数据库来记录和查询,则需要另外购买什么组件吗 最佳答…

    SIMATIC WinCC 2021年7月5日
  • 请问大家这个VB脚本为什么不能工作?

    我试了几次,通过这个条件,内容不能显示,这是为什么?t1是弹出窗口中的静态文本,谢谢!代码如下:Sub Visible_OnPropertyChanged(Byval&n…

    SIMATIC WinCC 2020年11月1日
  • WinCC\bin\CCDmRtServer.DLL

    Unhandled exception was raised.Look WinCC Diagnose directory…

    SIMATIC WinCC 2019年6月11日