Vì bạn không chỉ định bất kỳ giá trị nào cho @Price
trong mã C # trong khi Warehouse Id
của bạn và Discount rate
có thể được chỉ định bởi người dùng cuối, tôi khuyên bạn nên mã của bạn như sau:
private void button4_Click(object sender, EventArgs e)
{
try
{
var discountRate = 0.07; //could be Convert.ToDouble(textBox1.Text) or something else
var warehouseId = 6; //again, could be Convert.ToInt32(textBox2.Text) or something else
myConnection = new SqlConnection(frm.cs);
myCommand = new SqlCommand("update Inventory set Price=Price*([email protected]) " +
"where [email protected]", myConnection);
myConnection.Open();
myCommand.Parameters.AddWithValue("@DiscountRate", discountRate);
myCommand.Parameters.AddWithValue("@WarehouseId", warehouseId);
myCommand.ExecuteNonQuery();
myConnection.Close();
MessageBox.Show("Update successfully!");
DisplayData();
if (myConnection.State == ConnectionState.Open)
{
myConnection.Dispose();
}
}
catch
{
}
}
Tôi cũng khuyên bạn nên suy nghĩ lại về truy vấn của mình vì nó sẽ cập nhật giá tất cả các sản phẩm với cùng một giá trị, bạn có thể cân nhắc chuyển tham số @ProductId
và truy vấn của bạn là
update Inventory set Price=Price*([email protected])
where [email protected] and [email protected]
chắc chắn rằng đó là ví dụ.