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*(example@sqldat.com) " +
"where example@sqldat.com", 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*(example@sqldat.com)
where example@sqldat.com and example@sqldat.com
chắc chắn rằng đó là ví dụ.