Dot-Net

如何將字元串轉換為安全的 SQL 字元串?

  • April 3, 2011

我正在從一堆文本文件中生成一些 sql 插入語句。

這些文本文件通常是使用者輸入數據。我想清理這些數據,以免破壞插入語句。

例如,一些輸入數據,人們使用了Don’t這個詞。don’t中的“’”會導致sql語句認為字元串已經結束,從而導致錯誤。

我可以呼叫任何 .NET 方法將所有這些字元轉換為轉義碼或安全字元嗎?

不要消毒你的琴弦。改用參數化查詢,因為它們處理所有清理。

您沒有指定您使用的數據庫,所以我假設它是 MS SQL Server。Microsoft 在官方 ASP.net 網站上有一篇關於此的文章。另請參閱 MSDN 了解SqlCommand.ParametersAddWithValue方法。

您只需轉義一個字元:ansi 0x27,也就是單引號:

safeString = unsafeString.Replace("'","''");

引用自:https://stackoverflow.com/questions/5528972