Siemens WinCC VBscript для Mysql
Интересно, если кто-нибудь может помочь со следующей проблемой. Я использую Vbscript в Siemens WinCC. Когда я активирую скрипт, а переменная "lngValue" содержит строку с буквами "BC", при попытке вставить в базу данных появляется ошибка.
Если бы "lngValue" было пустым, тогда вставка в базу данных mysql была бы пустой, все в порядке. (Так что соединения все ок даже пробовал с INT и работал)
Я получаю следующую ошибку:
[MySQL] [ODBC 5.3 (a) Драйвер][mysqld-5.6.19] У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с "BC" в строке 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
Спасибо Стив.
3 ответа
objConn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;Database=siemens;UID=root;PWD=root"
попробуй это
Стив, убедитесь, что ваше поле в базе данных "строка" (varchar(x))
В Wincc SmartTags не обновляются при вызове их в VBScript. Вероятно, при построении запроса lngValue пусто, потому что SmartTags("ProductRunning_Mydata.ChargehandInitials") возвращает пустую строку. Решением этой проблемы может быть вставка скрытого текстового поля, связанного с тегом "ProductRunning_Mydata.ChargehandInitials", внутри экрана, на котором вы находитесь. При входе на экран SmartTag вынужден обновляться.