Sql 单引号错误

Sql 单引号错误,sql,sql-server,Sql,Sql Server,当我在搜索框中插入单引号并按下搜索按钮时,会出现如下错误: [Microsoft][SQL Server本机客户端 10.0][SQL Server]字符串“”后未闭合的引号 您应该使用而不是通过连接来构造SQL 这将避免并解决任何单一报价问题 快速修复方法是将它加倍('),以避开'),但这只是一个临时的解决方法,您的代码仍然容易受到攻击。参数化SQL查询。还有比这更严重的问题。您需要避开单引号,例如\'当您使用单引号来包围where语句时,例如where i='foo',那么您需要在where

当我在搜索框中插入单引号并按下搜索按钮时,会出现如下错误:

[Microsoft][SQL Server本机客户端 10.0][SQL Server]字符串“”后未闭合的引号

您应该使用而不是通过连接来构造SQL

这将避免并解决任何单一报价问题


快速修复方法是将它加倍(
'
),以避开
'
),但这只是一个临时的解决方法,您的代码仍然容易受到攻击。

参数化SQL查询。还有比这更严重的问题。

您需要避开单引号,例如\'当您使用单引号来包围where语句时,例如where i='foo',那么您需要在where i='\''中写入与单引号匹配的内容,或者在where i='it's good Days today'中设置SQL参数化!这肯定表明您的应用程序易受SQL注入攻击。你在用什么?C#?尝试搜索:
;删除表用户--
我同意Oded的观点,如果SQL Server引号没有以这种方式转义,请使用准备好的/参数化的查询。用斜杠转义单引号是不正确的:\n因为SQL Server用单引号转义引号:',就像@Oded在他的回答中说的:,我也没有投你反对票(不过你肯定会得到一些)