想知道是否有人可以帮助解决以下问题。我正在西门子WinCC中使用Vbscript。当我激活脚本时,"lngValue“变量包含一个带有字母"BC”的字符串,当试图插入数据库时,它会显示一个错误。
如果"lngValue“是空的,那么插入到mysql数据库中是空的,一切正常。(所以所有连接都好,甚至尝试了INT和工作)
我得到以下错误:
MySQLmysqld-5.6.19您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得在第1行“BC”附近使用的正确语法。
该脚本如下:
Sub Writetomysql()
Dim lngValue
Dim lngValue1
Dim commandText
Dim objConn
Dim objRS
Set objConn = CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;Database=siemens;UID=root;PWD=root;OPTION=3;"
Set objRS = CreateObject("ADODB.Recordset")
lngValue = SmartTags("ProductRunning_Mydata.ChargehandInitials")
lngValue1 = HMIRuntime.Tags("PPM").Read
commandText = "INSERT INTO products (ProductName, PPM) VALUES ('" _
& lngValue & "','" & lngValue1 & "')"
If SmartTags("FinishButton") = 1 Then
objRS.Open "products", objConn
objConn.Execute commandText
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
End If
End Sub谢谢史蒂夫。
发布于 2021-01-21 11:24:07
objConn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;Database=siemens;UID=root;PWD=root"尝尝这个
发布于 2015-09-25 14:13:47
在Wincc中,当您将SmartTags调用到VBScript中时,不会更新它们。可能在您构建查询时,由于SmartTags("ProductRunning_Mydata.ChargehandInitials")返回空字符串,所以lngValue是空的。解决这个问题的方法可能是在屏幕中插入一个与标签"ProductRunning_Mydata.ChargehandInitials“相关的隐藏文本框。当您进入屏幕时,SmartTag将被迫更新。
发布于 2016-02-23 07:43:37
Steve,确保tha数据库中的字段是"string“(varchar(x))
https://stackoverflow.com/questions/29449034
复制相似问题