【发布时间】:2022-01-07 18:56:36
【问题描述】:
我正在尝试使用 VB.net 更新 MS Access 中的记录。此代码将位于“已交付”按钮下。当我尝试运行它时,它显示“没有为一个或多个必需参数提供值”错误。这是我的代码:
Private Const strConn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Traicy\Downloads\MWL(11-30-2021)\MadeWithLove\MadeWithLove\MadeWithLove.mdb;"
ReadOnly conn As OleDbConnection = New OleDbConnection(strConn)
Dim cmd As OleDbCommand
Public Sub DeliveredUpdate()
Const SQL As String = "UPDATE DELIVERY SET delivery_status = @status"
cmd = New OleDbCommand(SQL, conn)
' Update parameter
cmd.Parameters.AddWithValue("@status", "Delivered")
' Open connection, update, then close connection
Try
conn.Open()
If cmd.ExecuteNonQuery() > 0 Then
MsgBox("The delivery status was successfully updated.")
End If
conn.Close()
Catch ex As Exception
MsgBox(ex.Message)
conn.Close()
End Try
End Sub
【问题讨论】:
-
这个错误的通常原因是缺少或拼写错误的值
-
在运行查询之前,它需要一个
WHERE子句,否则它将同时更新所有条记录。
标签: sql vb.net prepared-statement oledb oledbcommand