2015-12-15 38 views
1

如何处理使用SQL Server后端数据库的asp.net网页搜索中的特殊字符。例如,单引号和双引号等如何在asp.net网页搜索中处理单引号

+2

使用escape char来处理'\''斜杠单引号或''''双单引号或'\“' –

+1

我认为参数化的SQL或使用实体框架和存储过程可以解决这个问题。 – User2012384

回答

1

更换单引号'或双引号"会这样

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语法规则通常不允许的字符。