我正在编写一个 INSERT 查询,将大量值插入到表中。唉,在这种特殊情况下我无法使用参数化查询。
所以我想要一个函数来删除所有导致插入失败的坏字符。例如。在下面的查询中
INSERT INTO myTable (a,b,c) VALUES ("a","b","c")
如果a
的值包含引号"
,这可能会破坏整个INSERT。那么有没有一个函数可以删除所有这些危险字符?否则,什么哪些角色是危险的?
最佳答案
使用 sql-parameters 来防止脚本中的任何注入(inject):
SqlCommand command = new SqlCommand("INSERT INTO myTable (a,b,c) VALUES (@a,b,@c)", conn);
command.Parameters.AddWithValue("@a", "a");
command.Parameters.AddWithValue("@b", "b");
command.Parameters.AddWithValue("@c", "c");
关于c# - 从具有字符串值的列中删除坏字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28715668/