Подумайте, если кто-нибудь может помочь в решении следующей проблемы. Я использую Vbscript в Siemens WinCC. Когда я активирую скрипт, а переменная «lngValue» содержит строку с буквами «BC», она отображает ошибку при попытке вставить в базу данных.Siemens WinCC VBscript to Mysql
Если «lngValue» был пустым, тогда вставка была бы сделана в базу данных mysql, все пустое. (Таким образом, соединения все нормально, даже пытался с INT и работал)
Я получаю следующее сообщение об ошибке:
[MySQL][ODBC 5.3(a) Driver][mysqld-5.6.19]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "BC' at line 1
Сценарий выглядит следующим образом:
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
Спасибо Стиву.
Wait ... кто Стив? И почему вы его благодарите? – eggyal
Проверьте строку commandText, чтобы узнать, что действительно отправлено в базу данных. Уверен, вы увидите проблему: MsgBox commandText – Bob