下面是我的更新查询代码,一切似乎都运行正常,但数据库没有更新。
public int ChangeProduct(string _ProductID, double _ProductPrice)
{
int a = 0;
string queryString = "UPDATE product SET productPrice = @productPrice WHERE productID = @productId";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand updateProduct = new OleDbCommand(queryString, connection);
updateProduct.Parameters.AddWithValue("@productId", _ProductID);
updateProduct.Parameters.AddWithValue("@productPrice", _ProductPrice);
connection.Open();
a = updateProduct.ExecuteNonQuery();
connection.Close();
}
return a;
}
答案 0 :(得分:1)
显然Access并不关心参数化名称,而是关注它们出现的顺序。因此,通过将代码更改为下面的代码,它可以正常工作。
public int ChangeProduct(string _ProductID, double _ProductPrice)
{
int a = 0;
string queryString = "UPDATE product SET productPrice = @productPrice WHERE productID = @productId";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand updateProduct = new OleDbCommand(queryString, connection);
updateProduct.Parameters.AddWithValue("@productPrice", _ProductPrice);
updateProduct.Parameters.AddWithValue("@productId", _ProductID);
connection.Open();
a = updateProduct.ExecuteNonQuery();
connection.Close();
}
return a;
}