如何将字符串转换为安全的SQL字符串?

时间:2011-04-03 10:18:47

标签: .net sql sanitization

我正在从一堆文本文件中生成一些sql insert语句。

这些文本文件通常是用户输入数据。我想清理这些数据,这样就不会破坏插入语句。

例如,一些输入数据,人们使用了“不要”这个词。不会导致sql语句认为字符串已经结束并因此导致错误。

我是否可以调用任何.NET方法将所有这些字符转换为转义码或安全字符?

2 个答案:

答案 0 :(得分:26)

只有一个角色你必须逃脱:ansi 0x27,又名单引号:

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

答案 1 :(得分:22)

不要消毒你的琴弦。使用参数化查询,因为它们处理所有清理。

您没有指定您正在使用的数据库,因此我假设它是MS SQL Server。微软在官方ASP.net网站上有an article这个问题。另请参阅MSDN了解SqlCommand.ParametersAddWithValue方法。