2013-11-15 20 views
-1

我正在使用winforms創建一個GRN應用程序。我有兩張桌子。我想從表中減去一個值,同時在另一個表中添加這些值

表1:在現有庫存
表2:銷售

我如何在現有庫存減去一個數量售後。這是我的數據庫插入代碼。雖然添加這些我想要減去。

String SQL = "insert into Items_Sold values('" 
      + myobj.Invoiceno + "','" 
      + myobj.Itemcode + "','" 
      + myobj.Category + "','" 
      + myobj.Itemname + "','" 
      + myobj.Qty + "','" 
      + myobj.Unitprice + "',' " 
      + myobj.Subtotal + "')"; 

     DBConnection mycon = new DBConnection(); 
     mycon.insertValues(SQL); 

我試圖

{ 
     string SQL = "Update Stock Set Invoiceno='" 
      + textBox_InvoiceNo.Text.Trim() + "', " 
      + "Quantity='" + textBox_Qty.Text.Trim() + "'," 

     DBConnection database = new DBConnection(); 
     int rslt = database.updatetValues(SQL); 

     if (rslt > 0) 
     { 
      MessageBox.Show("Updated"); 
     } 
     else 
     { 
      MessageBox.Show("Faild"); 
     } 
    } 

這是用新的數據更新我的數據庫。

+0

參數化SQL查詢的問題。 SQL注入攻擊是不好的。 –

+1

我可以聞到SQL注入 –

+0

我不知道你在問什麼。 –

回答

1

您可能希望將WHERE條件添加到UPDATE中,以僅更新一些(或一個)記錄,而不是全部。你可能想使用類似

SET quantity = quantity - difference_value 

其中difference_value將要減什麼。 我不確定細節,因爲你沒有說明你如何能。 G。在減去時確定要更新的記錄。

+0

我正在發票的形式,所以我如果我做出售它應該在我的股票表中減去,同時在銷售表中添加相同的數量最後我想c剩餘股票 – Moz

2

你有幾個問題。

SQL注入(即,使用參數)

無交易 - 你絕對應該是這樣的行爲在交易,這樣你就不用使用借記卡而不是信用卡告終。

你真的應該使用類似此更新代碼這個

​​

這避免避免一些可能併發相關的問題

MISTAKE應該已經

update Stock set Quantity = Quantity - @delta 
where ... and Quantity >= @delta 
+0

加里沃克我需要更多的解釋。 – Moz

相關問題