2016-12-19 106 views
-6

大家好! 我在我的數據庫 扣除我的一定量的產品遇到問題這裏是我的代碼..提前扣除產品後更新數據庫

Dim intQty As Integer 
Dim que As String 

intQty = Convert.ToInt32(enterqtyfrm.txtqty.Text) 

que = "UPDATE db_product SET Qty = Qty - '" & intQty & "' WHERE itemsName = '" & Home.lblOrderName.Text & "'" 

謝謝!

+2

''我遇到了一個問題'' - 這不是特別具有描述性。也許你可以讓我們知道* *是什麼問題? (當然,除了你有的SQL注入漏洞。) – David

+0

什麼問題? – GurV

+0

它沒有扣除我數據庫中的數量 – Nicole

回答

0

你在這裏有兩個單獨的問題,1是你試圖將一個整數連接成一個字符串。 2,用於減去數量的sql語法不正確。您無需將數字轉換爲整數,將其添加到SQL命令,你得失去了單引號:

If IsNumeric(enterqtyfrm.txtqty.Text) Then 
    Dim que As String = "UPDATE db_product SET Qty = Qty - " & enterqtyfrm.txtqty.Text & " WHERE itemsName = '" & Home.lblOrderName.Text & "'" 
    'execute que 
End If 

旁註:這是使用參數在SQL的最佳實踐原因的數量,所以我會建議學習如何做到這一點...有很多關於如何做到這一點的SO帖子。此外,將一些驗證添加到要連接到您的sql字符串中的值將是一個好主意,因爲用戶可以輸入會破壞語句的各種不同的東西。