Dot-Net
如何將字元串轉換為安全的 SQL 字元串?
我正在從一堆文本文件中生成一些 sql 插入語句。
這些文本文件通常是使用者輸入數據。我想清理這些數據,以免破壞插入語句。
例如,一些輸入數據,人們使用了Don’t這個詞。don’t中的“’”會導致sql語句認為字元串已經結束,從而導致錯誤。
我可以呼叫任何 .NET 方法將所有這些字元轉換為轉義碼或安全字元嗎?
不要消毒你的琴弦。改用參數化查詢,因為它們處理所有清理。
您沒有指定您使用的數據庫,所以我假設它是 MS SQL Server。Microsoft 在官方 ASP.net 網站上有一篇關於此的文章。另請參閱 MSDN 了解SqlCommand.Parameters和AddWithValue方法。
您只需轉義一個字元:ansi 0x27,也就是單引號:
safeString = unsafeString.Replace("'","''");