Тъй като не присвоявате никаква стойност на @Price
в C# код докато вашият Warehouse Id
и Discount rate
подлежат на присвояване от крайния потребител, препоръчвам вашият код да бъде такъв:
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
{
}
}
Също така бих ви препоръчал да помислите отново за заявката си, тъй като тя ще актуализира цената на всички продукти с една и съща стойност, може да помислите да подадете параметър @ProductId
и вашето запитване е
update Inventory set Price=Price*([email protected])
where [email protected] and [email protected]
сигурно това беше например.