【发布时间】:2014-08-20 11:41:05
【问题描述】:
有问题的代码:
public static void updateItemAmount(int item_id, int delta)
{
using (OleDbCommand cmd = connection.CreateCommand())
{
// create command with placeholders
cmd.CommandText =
"UPDATE Items SET amount_total = amount_total+@delta WHERE item_number=@item_id;";
// add named parameters
cmd.Parameters.AddRange(new OleDbParameter[]
{
new OleDbParameter("@item_id",item_id),
//new OleDbParameter("@delta",delta),
});
cmd.Parameters.Add("@delta", OleDbType.Integer).Value = delta;
// execute
if (cmd.ExecuteNonQuery() == 0)
MessageBox.Show("Error");
}
}
即使我确认 item_id 正确,我仍不断收到“错误”消息。这是为什么呢?
【问题讨论】:
-
错误信息是什么
-
ExecuteNonQuery()返回受影响的行数。在您的情况下,代码可以正确执行,但不会影响任何行。