我想更新我的库存数量,保持以前的库存状态。我需要根据内向或外向交易添加或减少以前的数据。我没有在现有的库存表中更新库存。 //这是问题段的开始
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();
//这是问题段的结尾
答案 0 :(得分:0)
首先,在与sql表交谈时,请不要直接使用来自用户输入的值(参见SQL Injection)。使用存储过程。
我希望您从组合框中获取的值不是表格的itemname列中的有效值。