无法使用以下功能
更新访问中的表格Private Sub btnUpdate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnUpdate.Click
Dim cn As New OleDbConnection(Con)
Dim objUpdateCommand As New OleDbCommand
Dim objDataAdapter As New OleDbDataAdapter
cn.Open()
Const SQLExpression As String = "UPDATE product SET Value = @pValue where owner = @powner and Item = @pItem;"
objUpdateCommand = New OleDbCommand(SQLExpression, cn)
With objUpdateCommand
.Parameters.Add("@powner", OleDbType.VarChar, 10, "owner")
.Parameters.Add("@pItem", OleDbType.VarChar, 8, "Item")
.Parameters.Add("@pValue", OleDbType.VarChar, 10, "Value")
End With
objDataAdapter.UpdateCommand = objUpdateCommand
MsgBox("Table Updated")
End Sub
答案 0 :(得分:0)
设置updateCommand属性不会执行该命令。您需要调用表适配器的更新方法。
查看更多信息here
答案 1 :(得分:0)
您不必使用适配器来运行带或不带参数的更新语句。 用这个替换你的代码(objDataAdapter.UpdateCommand = objUpdateCommand):
Dim UpdateResultValue as Integer
UpdateResultValue = objUpdateCommand.ExecuteNonQuery
If UpdateResultValue = 0 Then
msgbox "Table Update Failed"
Else
msgbox "Table Updated"
End if
如果返回零,则它不起作用(UpdateResultValue = 0)。如果不从数据库表返回值(可能过度简化),则使用ExecuteNonQuery。
答案 2 :(得分:0)
您的参数需要与查询中使用的参数顺序相同。