Kenzakie20 Kenzakie20 - 4 months ago 28
Vb.net Question

Exception: No value given for one or more required parameters in VB.NET & MS-ACCESS DB

I work with an Inventory System. I have an error on my code, it says


No value given for one or more required parameters.


and the error was thrown to
cmd.ExecuteNonQuery()
. What does it mean? can someone help me? By the way this code is for deducting Item Quantity on Database. Sorry for my bad English.

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

Answer

I don't see any flaw. Try this substitute(a little tweak sending both inputs via parameter)

con.Open()
Dim sqlQry As String = "UPDATE [tbl_Stocks] SET [Quantity] = [Quantity] - @QU " &
                       "WHERE Products=@prod"
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