c# - 从具有字符串值的列中删除坏字符

标签 c# mysql database

我正在编写一个 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/

相关文章:

c# - 使用 PInvoke 中的结构后,是否需要释放内存?

c# - 无法删除索引中某个类型的所有文档

c# - Entity Framework 演示项目

python - 如何修复Python中的动态列表索引超出范围

mysql - 如何从每个组中获取成员数以及组详细信息?

c# - 如何在 C# 中创建未转义的十六进制字节字符串

mysql - sql 查询回调中的 res.sendFile

mysql - 如何删除所有外键约束?

java - 使用 SQLite 填充饼图

php - 选择不同的选定行