我想按照以前的数量更新我的库存数量。

时间:2014-04-26 13:46:59

标签: c# sql .net logic inventory-management

我想更新我的库存数量,保持以前的库存状态。我需要根据内向或外向交易添加或减少以前的数据。我没有在现有的库存表中更新库存。 //这是问题段的开始

        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();

//这是问题段的结尾

1 个答案:

答案 0 :(得分:0)

首先,在与sql表交谈时,请不要直接使用来自用户输入的值(参见SQL Injection)。使用存储过程。

我希望您从组合框中获取的值不是表格的itemname列中的有效值。