c# - Parameters.AddWithValue 不将占位符文本替换为实际值

标签 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”。

我做错了什么?

最佳答案

尝试不用单引号引起来

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

关于c# - Parameters.AddWithValue 不将占位符文本替换为实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13580941/

相关文章:

c# - 如何在 C# 中声明单播委托(delegate)

c# - 将列表传递给构造函数然后存储它的约定是什么?

c# - '||' switch 语句中两个枚举之间使用的运算符

.net - RabbitMQ - 用户 'XXX' 拒绝访问 vhost 'guest'

MySQL 5.7.21 安装 Mac 但有偏好错误

mysql - 如何将字符串值转换为日期格式

c# - 为什么我会收到此错误?无法从中加载类型

c# - 为什么我们使用无成员接口(interface)?

c# - 为什么不能在嵌套的局部作用域中声明重复的变量名?

java - 从 MySQL 读取 Nutch 爬取的数据