当我从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;
}
}