C# 如何处理asp.net web搜索中的单个报价

C# 如何处理asp.net web搜索中的单个报价,c#,asp.net,sql-server,C#,Asp.net,Sql Server,如何使用SQL Server后端数据库处理asp.net web搜索中的特殊字符。例如,单引号和双引号等。替换单引号“或双引号”的操作如下 StrQuery = "Select * from TableName Where Keyword LIKE '%" + TxtSearchBox.Text + "%'"; StrQuery = StrQuery.Replace("'", "\'"); StrQuery = StrQuery.Replace('"', "\""); StrQuery = St

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

替换单引号
或双引号
的操作如下

StrQuery = "Select * from TableName Where Keyword LIKE '%" + TxtSearchBox.Text + "%'";
StrQuery = StrQuery.Replace("'", "\'");
StrQuery = StrQuery.Replace('"', "\"");
StrQuery = StrQuery.Replace("\", "\\");
另一件非常重要的事情是,最好使用参数化查询。这些查询将自动处理单引号,并更好地防止SQL注入


将遵循ISO关于引号分隔标识符和文字字符串的规则。由双引号分隔的标识符可以是Transact-SQL保留关键字,也可以包含Transact-SQL语法规则通常不允许的标识符字符。

使用转义字符处理
\'
斜杠单引号或
'
双单引号或
\'
我认为参数化SQL或使用实体框架和存储过程可以克服这个问题。