这里有什么问题,即使我之前使用过的代码相同,我总会得到一些令人讨厌的错误。但是当我将它应用到其他形式时,它会给我上面的错误。 这是我的代码:
Imports System.Data.OleDb
Public Class Updater2
Public adminID As String
Public adminName As String
Public adminPass As String
Private con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Jet OLEDB:Database Password=nrew123$%^;")
Private com As OleDb.OleDbCommand
Public Sub New()
con.Open()
com = New OleDb.OleDbCommand("Select * from admintable")
com.Connection = con
End Sub
Public Sub updates()
com.CommandText = "UPDATE admintable SET AdminName = '" & adminName & "', AdminPassS = '" & adminPass & "' WHERE ID = '" & adminID & "'"
com.ExecuteNonQuery()
End Sub
End Class
这是按钮中的代码,它试图更新数据:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
shikai.adminID = textbox1.text
shikai.adminName = TextBox4.Text
shikai.adminPass = TextBox3.Text
shikai.updates()
MsgBox("Successfully updated!")
End Sub
这里可能有什么问题?
答案 0 :(得分:25)
在开发Access后端时处理 no value given for one or more required parameters
错误的一个好方法是获取CommandText
的内容并将其粘贴到虚拟查询中访问自己。然后Access将为您提供一个弹出窗口,用于识别导致问题的字段(通常是错字,如您的情况)。
答案 1 :(得分:12)
此错误的常见原因是缺失或拼写错误。 adminName似乎是Null或零长度字符串。
答案 2 :(得分:2)
当将命令文本粘贴到访问本身并且弹出Access时会告诉您哪个字段是问题,如果看起来不是类型,请尝试将字段名称括在方括号中。 []您的某个列可能包含关键字。这发生在我身上,LL_ID列 - 我必须将其更改为[LL_ID]。
答案 3 :(得分:0)
选择pt.person_name,pt.obile_no,pt.address_info FROM person_table pt左联接company_table ct ON pt.com_id = ct.com_id WHERE pt.com_id = 14
我将其用于访问数据库,然后发生了这种错误“没有为一个或多个必需参数提供值”。
我实际上做了pt.obile之类的拼写错误,但它将是pt.mobile。当我更正后,效果很好。