我正在做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