我有問題,使用MySQL,用下面的代碼:MySQL的.NET連接器撇號問題
Imports MySql.Data.MySqlClient 'Last version 6.9.9.0 ADO.Net driver for MySQL
Dim commandSQL As MySqlCommand
connMySQL.Open()
commandSQL = connMySQL.CreateCommand
commandSQL.Connection = connMySQL
commandSQL.CommandText = "UPDATE t_tesordacq SET [email protected]_FOR WHERE
YEAR_DOC = 2017 And NUM_DOC = 123" With
commandSQL.Parameters.AddWithValue("@COD_FOR",txtCodFor.Text)
End With
commandSQL.ExecuteNonQuery()
commandSQL.Parameters.Clear()
當我插入的txtCodFor領域的文本,其中包含一個撇號(前:我是),代碼出錯了(*錯誤:您的SQL語法有錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在'\'test' WHERE YEAR_DOC = 2017 And NUM_DOC = 123,*).
附近使用正確的語法
我也嘗試更換帶雙撇號的文本:txtCodFor.Text.Replace(「'」,「''」)但無事可做。 另外,如果我插入一個反斜槓,它是重複的!
我已經看到,如果我從my.ini中的sql_mode中刪除「NO_BACKSLASH_ESCAPES」選項,則一切正常。 可惜我不能永遠用VB6(ODBC連接)
感謝您的幫助的書面申請刪除此選項兼容性
你爲什麼用C#標記這個? – DavidG
,因爲我也接受c#代碼示例# –