【发布时间】:2017-07-06 21:27:22
【问题描述】:
我正在 Vb.net 2012 上制作这个程序,它与 SQL Server 2012 有连接。
此数据库表的一列是Description,在某些情况下,日期可能包含撇号,例如...'chainsaw 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,问题就消失了。
-
使用 SQL 参数,您还可以避免数据类型不匹配错误和许多其他问题。创建 SQL 并不意味着那么乏味。也请阅读How to Ask 并采取tour
标签: sql sql-server vb.net