我对MySQL参数感到困惑.
我的代码的以下两部分都可以正常工作.第一个使用参数@:
const string query = "UPDATE `items` SET `name` = @name, `price` = @price WHERE `id` = @id";
try
{
using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
{
cmd.Parameters.AddWithValue("name", name);
cmd.Parameters.AddWithValue("price", price);
cmd.Parameters.AddWithValue("id", id);
cmd.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud)
其次使用参数?:
const string query = "UPDATE `items` SET `name` = ?name, `price` = ?price WHERE `id` = ?id";
try
{
using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
{
cmd.Parameters.AddWithValue("name", name);
cmd.Parameters.AddWithValue("price", price);
cmd.Parameters.AddWithValue("id", id);
cmd.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud)
这些答案既@可以说也可以?正常工作.甚至cmd.Parameters.AddWithValue("@name", name);似乎工作(注意@名称中).
为什么所有这些都适用于MySQL?
它们之间有区别吗?
哪一个是与MySQL一起使用的正确方法?
感谢您的帮助.
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |