如何从数据库中改变价值

时间:2016-10-14 01:48:18

标签: c# sql database

当我从intToolAvail中减去一个值并添加intToolBrrwd时出错。 例如,我从10中减去1作为intToolAvail的值,结果始终为8.它还在intToolBrrwd中添加了2。

  

UPDATE tblTools SET intToolAvail = intToolAvail - @intToolAvail,intToolBrrwd = intToolBrrwd + @intToolBrrwd WHERE intToolID = @intToolID

这是我在C#中的代码。

private void button9_Click(object sender, EventArgs e)
    {
        try
        {
            if (nud21Arania.Value > 0)
                addTool("Arania", Convert.ToInt32(nud21Arania.Value));
            if (nud21VigHold.Value > 0)
                addTool("Vigil Holder with Top", Convert.ToInt32(nud21VigHold.Value));
            if (nud21CandHold.Value > 0)
                addTool("Candle Holder", Convert.ToInt32(nud21CandHold.Value));
            if (nud21GuestBook.Value > 0)
                addTool("Guest Book", Convert.ToInt32(nud21GuestBook.Value));
            if (nud21CaskStand.Value > 0)
                addTool("Casket Stand", Convert.ToInt32(nud21CaskStand.Value));
            if (nud21TarpHold.Value > 0)
                addTool("Tarpauline Holder", Convert.ToInt32(nud21TarpHold.Value));
            if (nud21MassHold.Value > 0)
                addTool("Mass Holder", Convert.ToInt32(nud21MassHold.Value));
            if (nud21CentCross.Value > 0)
                addTool("Center Cross", Convert.ToInt32(nud21CentCross.Value));
            if (nud21CaskStand2.Value > 0)
                addTool("Casket Stand (Reg, INC)", Convert.ToInt32(nud21AnncBoard.Value));
            if (nud21AnncBoard.Value > 0)
                addTool("Announcement Board", Convert.ToInt32(nud21AnncBoard.Value));
            if (nud21Carp.Value > 0)
                addTool("Carpet", Convert.ToInt32(nud21Carp.Value));
            if (nud21ExCord.Value > 0)
                addTool("Extension Cord", Convert.ToInt32(nud21ExCord.Value));
            if (nud21LightBulb.Value > 0)
                addTool("Light Bulb", Convert.ToInt32(nud21LightBulb.Value));
            if (nud21Curtain.Value > 0)
                addTool("Curtain", Convert.ToInt32(nud21Curtain.Value));
            if (nud21CurtStand.Value > 0)
                addTool("Curtain Stand", Convert.ToInt32(nud21CurtStand.Value));
            if (nud21PicFrame.Value > 0)
                addTool("Picture FramePic", Convert.ToInt32(nud21PicFrame.Value));
            if (nud21PicHold.Value > 0)
                addTool("Picture Holder", Convert.ToInt32(nud21PicHold.Value));
            if (nud21BannerHold.Value > 0)
                addTool("Banner/ Tarpauline", Convert.ToInt32(nud21BannerHold.Value));
            if (nud21PicHoldCar.Value > 0)
                addTool("Picture Holder (Funeral Car)", Convert.ToInt32(nud21PicHoldCar.Value));
        }
        catch(Exception ex){
            conn.Close();
            MessageBox.Show(ex.Message);
        }
        if (success)



private void addTool(string tool, int pcs)
    {
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select intToolID from tblTools where strToolDesc = @strProdDesc", conn);
            cmd.Parameters.AddWithValue("@strProdDesc", tool);
            using (var rd = cmd.ExecuteReader())
            {
                rd.Read();
                prodID = rd.GetInt32(0);
            }

            SqlCommand cmd1 = new SqlCommand("Select intServiceID from tblService where intServiceID in (Select intContrServID from tblContract where intContractID = @intContractID)", conn);
            cmd1.Parameters.AddWithValue("@intContractID", dgvContractID);
            using (var rd = cmd1.ExecuteReader())
            {
                rd.Read();
                servID = rd.GetInt32(0);
            }

            SqlCommand cmd2 = new SqlCommand("UPDATE tblTools SET intToolAvail = intToolAvail - @intToolAvail, intToolBrrwd = intToolBrrwd + @intToolBrrwd WHERE intToolID = @intToolID", conn);
            cmd2.Parameters.AddWithValue("@intToolID", prodID);
            cmd2.Parameters.AddWithValue("@intToolAvail", pcs);
            cmd2.Parameters.AddWithValue("@intToolBrrwd", pcs);
            cmd2.ExecuteNonQuery();

            SqlCommand cmd3 = new SqlCommand("Insert into tblPullOut (intPOServiceID, intPOToolID, dtmDateRelease, intPOPcs) values (@intPOServiceID, @intPOToolID, @dtmDateRelease, @intPOPcs)", conn);
            cmd3.Parameters.AddWithValue("@intPOServiceID", servID);
            cmd3.Parameters.AddWithValue("@intPOToolID", prodID);
            cmd3.Parameters.AddWithValue("@dtmDateRelease", DateTime.Now);
            cmd3.Parameters.AddWithValue("@intPOPcs", pcs);
            cmd3.ExecuteNonQuery();

            conn.Close();
        }
        catch (Exception ex)
        {
            conn.Close();
            MessageBox.Show(ex.Message);
            success = false;
        }
    } private void addTool(string tool, int pcs)
    {
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select intToolID from tblTools where strToolDesc = @strProdDesc", conn);
            cmd.Parameters.AddWithValue("@strProdDesc", tool);
            using (var rd = cmd.ExecuteReader())
            {
                rd.Read();
                prodID = rd.GetInt32(0);
            }

            SqlCommand cmd1 = new SqlCommand("Select intServiceID from tblService where intServiceID in (Select intContrServID from tblContract where intContractID = @intContractID)", conn);
            cmd1.Parameters.AddWithValue("@intContractID", dgvContractID);
            using (var rd = cmd1.ExecuteReader())
            {
                rd.Read();
                servID = rd.GetInt32(0);
            }

            SqlCommand cmd2 = new SqlCommand("UPDATE tblTools SET intToolAvail = intToolAvail - @intToolAvail, intToolBrrwd = intToolBrrwd + @intToolBrrwd WHERE intToolID = @intToolID", conn);
            cmd2.Parameters.AddWithValue("@intToolID", prodID);
            cmd2.Parameters.AddWithValue("@intToolAvail", pcs);
            cmd2.Parameters.AddWithValue("@intToolBrrwd", pcs);
            cmd2.ExecuteNonQuery();

            SqlCommand cmd3 = new SqlCommand("Insert into tblPullOut (intPOServiceID, intPOToolID, dtmDateRelease, intPOPcs) values (@intPOServiceID, @intPOToolID, @dtmDateRelease, @intPOPcs)", conn);
            cmd3.Parameters.AddWithValue("@intPOServiceID", servID);
            cmd3.Parameters.AddWithValue("@intPOToolID", prodID);
            cmd3.Parameters.AddWithValue("@dtmDateRelease", DateTime.Now);
            cmd3.Parameters.AddWithValue("@intPOPcs", pcs);
            cmd3.ExecuteNonQuery();

            conn.Close();
        }
        catch (Exception ex)
        {
            conn.Close();
            MessageBox.Show(ex.Message);
            success = false;
        }
    } 

0 个答案:

没有答案