1
如何处理使用SQL Server后端数据库的asp.net网页搜索中的特殊字符。例如,单引号和双引号等如何在asp.net网页搜索中处理单引号
如何处理使用SQL Server后端数据库的asp.net网页搜索中的特殊字符。例如,单引号和双引号等如何在asp.net网页搜索中处理单引号
更换单引号'
或双引号"
会这样
StrQuery = "Select * from TableName Where Keyword LIKE '%" + TxtSearchBox.Text + "%'";
StrQuery = StrQuery.Replace("'", "\'");
StrQuery = StrQuery.Replace('"', "\"");
StrQuery = StrQuery.Replace("\", "\\");
还有很重要的事情要做的就是,你会更好使用参数查询。这些将自动处理单引号,并且更好地保护您免受SQL注入。
SET QUOTED_IDENTIFIER将遵循关于引号分隔标识符和文字字符串的ISO规则。用双引号分隔的标识符既可以是Transact-SQL保留关键字,也可以包含标识符的Transact-SQL语法规则通常不允许的字符。
使用escape char来处理'\''斜杠单引号或''''双单引号或'\“' –
我认为参数化的SQL或使用实体框架和存储过程可以解决这个问题。 – User2012384