如何从库存中扣除数量 C# sql.
本文关键字:sql | 更新日期: 2023-09-27 18:31:36
一旦购买产品,它应该从库存数量减少
double qun;
qun = Convert.ToDouble(dataGridView1.Rows[0].Cells[3].Value) - Convert.ToDouble(textBox2.Text);
sqlconnection = new SqlCeConnection(ConnectionString);
sqlcommand = new SqlCeCommand();
sqlconnection.Open();
sqlcommand.Connection = sqlconnection;
sqlcommand.CommandText = (@"UPDATE ItemStock_Info SET Quantity =@qun WHERE [Item_Number]='"+ textBox1.Text +"'");
sqlcommand.Parameters.Add("@qun", qun);
sqlcommand.ExecuteNonQuery();
sqlconnection.Close();
如果变量qun
是销售数量,那么您应该从数据库表中的值中减去它,而不是简单地将该值重新分配以覆盖您的股票价值
@"UPDATE ItemStock_Info
SET Quantity = Quantity - @qun
WHERE ... "
给你一个便条。为什么对数量使用参数而不是对位置条件使用参数?应不惜一切代价避免这种情况,并且应以不同的方式添加参数
sqlcommand.CommandText = (@"UPDATE ItemStock_Info
SET Quantity = Quantity - @qun
WHERE [Item_Number]=@num";
sqlcommand.Parameters.Add("@qun", SqlDbType.Float).Value = qun;
sqlCommand.Parameters.Add("@num", SqlDbType.NVarChar).Value = textBox1.Text;
sqlcommand.ExecuteNonQuery();
我应该在这里添加一个警告。我猜您不想减去销售数量,如果这会将您的数量值更改为零以下的水平。由于这是一个SQL Server CE数据库,因此可以安全地假设没有人可以在您背后更改Quantity
值,并且您在减法操作之前已经测试了此条件,但是在多用户环境中,我建议您使用在这些字段上具有更好并发支持的数据库。