Parameters.AddWithValue不用实际值替换占位符文本

时间:2012-11-27 09:22:19

标签: c# .net mysql parameter-passing

我尝试使用MySQL的参数化查询。该理论看起来非常简单,您可以像这样创建 MySqlCommand 类的新实例:

MySqlCommand command = new MySqlCommand();

将此对象的 CommandText 属性设置为带有占位符的MySQL查询,如下所示:

command.CommandText = "INSERT INTO `myTable` (`myField`) VALUES('@bar');

使用 AddWithValue 方法将占位符文本替换为实际值:

command.Parameters.AddWithValue("@bar", "HelloWorld");

这就是我认为它的工作方式,但实际上“@bar”这个词最后会被追加,而不是“HelloWorld”。

我做错了什么?

1 个答案:

答案 0 :(得分:7)

尝试不用单引号

包装
command.CommandText = "INSERT INTO `myTable` (`myField`) VALUES(@bar);