2016-08-03 12 views
0

Ich arbeite mit einem Inventory System. Ich habe einen Fehler in meinem Code, es heißtAusnahme: Kein Wert für einen oder mehrere erforderliche Parameter in VB.NET & MS-ACCESS DB

Kein Wert für einen oder mehrere erforderliche Parameter angegeben.

und der Fehler wurde auf cmd.ExecuteNonQuery() ausgelöst. Was heißt das? kann mir jemand helfen? Dieser Code dient übrigens dazu, die Artikelmenge in der Datenbank abzuziehen. Entschuldigung für mein schlechtes Englisch.

con.Open() 
Dim sqlQry As String = "UPDATE [tbl_Stocks] 
         SET [Quantity] = [Quantity] - @QU 
         WHERE Products='" & lbPro.Text & "'" 
Using cmd As New OleDbCommand(sqlQry, con) 
    cmd.Parameters.AddWithValue("@QU", lbQuan.Text) 
    cmd.ExecuteNonQuery() 
    con.Close() 
    MsgBox("Save Successfully!") 
End Using 
+1

einen Parameter verwenden, auch für den Wert Produkte, dann prüfen, ob die Felder Namen geschrieben richtig – Steve

+0

Was ist der Datentyp der Spalte Menge? – Steve

+0

Bitte [parametriertes SQL stattdessen verwenden] (http://stackoverflow.com/q/35163361/87698). – Heinzi

Antwort

0

Ich sehe keinen Fehler. Versuchen Sie, diesen Ersatz (ein wenig zwicken Senden beiden Eingänge über den Parameter)

con.Open() 
Dim sqlQry As String = "UPDATE [tbl_Stocks] SET [Quantity] = [Quantity] - @QU " & 
         "WHERE [email protected]" 
Using cmd As New OleDbCommand(sqlQry, con) 
    cmd.Parameters.AddWithValue("@QU", lbQuan.Text) 
    cmd.Parameters.AddWithValue("@prod", lbPro.Text) 
    cmd.ExecuteNonQuery() 
    con.Close() 
    MsgBox("Save Successfully!") 
End Using 
+0

Ich versuche, diesen Code zu verwenden, aber den Fehler "Kein Wert für einen oder mehrere erforderliche Parameter angegeben." immer noch Aufforderung. – NiewBiee2020

+0

hast du das '@ prod' bemerkt ?. Wenn nicht, stellen Sie sicher, dass die Werte von "lbQuan" und "lbPro" nicht leer oder null sind. – jonju

+0

Das einzige Problem ist, dass ich den Spaltennamen Produkt falsch geschrieben habe, aber der Code funktioniert! Vielen Dank! – NiewBiee2020