【发布时间】:2014-04-26 13:46:58
【问题描述】:
我想根据之前的库存状态更新我的库存数量。我需要根据向内或向外交易通过添加或减少它来更新以前的数据。我没有在 currentstock 表中更新库存。 //这是问题部分的开始
SqlCommand cmd2 = new SqlCommand("select stock from currentstock where itemname=@a", con);
con.Open();
int x=0;
cmd2.Parameters.AddWithValue("@a",comboBox2.SelectedItem.ToString());
SqlDataReader dr = cmd2.ExecuteReader();
if (dr.Read())
{
x = dr.GetInt16(2);
}
if (radioButton1.Checked == true)
{
x = x + Convert.ToInt16(textBox1.Text);
}
else if (radioButton2.Checked == true)
{
x = x - Convert.ToInt16(textBox2.Text);
}
con.Close();
SqlCommand cmd1 = new SqlCommand("update currentstock set stock=@a where itemname=@b",con);
con.Open();
cmd1.Parameters.AddWithValue("@a", x);
cmd1.Parameters.AddWithValue("@b", comboBox2.SelectedItem.ToString());
cmd1.ExecuteNonQuery();
con.Close();
//问题段到此结束
【问题讨论】:
-
那么问题出在哪里?
-
x = x + Convert.ToInt16(textBox1.Text); x = x - Convert.ToInt16(textBox2.Text);我认为这两个语句没有被执行。
-
请说明您在哪一行遇到了什么问题,如果有什么错误或异常,
-
预计将在 currentstock 表中进行更改,但即使在完全执行后程序也没有反映数据库中的任何更改。
-
您确定传递的值与表行中的值不同
标签: c# sql .net logic inventory-management