2015-12-15 41 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語法規則通常不允許的字符。