1

次の問題を解決できる人がいるかどうか疑問に思いました。Siemens WinCC 内で Vbscript を使用しています。スクリプトをアクティブにし、"lngValue" 変数に文字 "BC" を含む文字列が含まれていると、データベースに挿入しようとするとエラーが表示されます。

「lngValue」が空白の場合、mysql データベースに挿入されますが、すべて空白です。(したがって、接続はすべてINTで試しても問題ありません)

次のエラーが表示されます。

[MySQL][ODBC 5.3(a) Driver][mysqld-5.6.19]SQL 構文にエラーがあります。1行目の「BC」付近で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください

スクリプトは次のとおりです。

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

ありがとうスティーブ。

4

3 に答える 3

0

スティーブ、データベースのフィールドが「string」(varchar(x)) であることを確認してください

于 2016-02-23T07:43:37.437 に答える