我正在做2012年Vb.net這個程序有SQL Server 2012的插入數據到包含撇號
一個這樣的數據庫表是Description
的列的連接,並在SQL Server數據庫有些情況下日期可能包括撇號,例如...'電鋸15'3「X 1 1/2 X .050 X 3/4'
當我運行查詢時,數據之間的撇號會導致在查詢的語法錯誤,這是VB.net中的查詢行。
CMD.CommandText =
"INSERT INTO Table_ARTICLES
(NUMPART, DESCRIPTION, LOCATION, MAX, ACTUAL, MIN, Unidad_de_medida)
VALUES ('" & txtNumParte.Text & "', '" & txtDescripcion.Text & "',
'" & txtLocaclizacion.Text & "', '" & txtMaximo.Text & "', '" & txtActual.Text & "',
'" & txtMin.Text & "', '" & cmbUnidad.Text & "')"
有人知道如何使這個查詢接受查詢中的那些字符嗎?
1)不要標記與MySQL標籤的SQL Server的問題。兩種完全不同的產品。 2)不要通過串聯構建SQL字符串......你只是要求SQL注入攻擊和問題完全一樣。 3)使用參數化的SQL,問題消失。 – pmbAustin
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.prepare (v=vs.110).aspx – JGFMK
使用SQL參數,您還將避免數據類型不匹配錯誤和許多其他問題。創建SQL根本就不是那麼單調乏味。也請閱讀[問]並參加[遊覽] – Plutonix