Vb.net &引用;INSERT INTO语句中的语法错误;及;没有给出一个或多个所需参数的值“;

Vb.net &引用;INSERT INTO语句中的语法错误;及;没有给出一个或多个所需参数的值“;,vb.net,ms-access,Vb.net,Ms Access,因此,我正在使用连接到Access 2010数据库的Visual Basic 2010进行我的第一个计算项目,我在项目中得到了两个不同的错误代码,我似乎无法理解: 在允许用户更新信息的my按钮代码中,我得到了错误消息 没有为一个或多个必需参数提供值 当我在调试时单击按钮时 下面是按钮的代码: Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpda

因此,我正在使用连接到Access 2010数据库的Visual Basic 2010进行我的第一个计算项目,我在项目中得到了两个不同的错误代码,我似乎无法理解:

  • 在允许用户更新信息的my按钮代码中,我得到了错误消息

    没有为一个或多个必需参数提供值

    当我在调试时单击按钮时

  • 下面是按钮的代码:

    Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Dim cbMember As New OleDb.OleDbCommandBuilder(daMember)   'returns items from text box to dataset
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(0) = txtMemberID.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(1) = txtForename.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(2) = txtSurname.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(3) = txtDOB.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(4) = txtSex.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(5) = txtPhone.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(6) = txtEmail.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(7) = txtAddress.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(8) = txtPostcode.Text
        daMember.Update(dsMember, "Members") 'updates items to database
        MsgBox("Data updated")`
    
    Private Sub btnCommit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCommit.Click
    
        If MemberRowNumber <> -1 Then 'checks for a valid record to add
            Dim cbMember As New OleDb.OleDbCommandBuilder(daMember)   'declare new variables specifically for this statement
            Dim dsMemberNewRow As DataRow
            dsMemberNewRow = dsMember.Tables("Members").NewRow() 'adds new row
            dsMemberNewRow.Item("MemberID") = txtMemberID.Text
            dsMemberNewRow.Item("Forename") = txtForename.Text    'contains values to add to new row
            dsMemberNewRow.Item("Surname") = txtSurname.Text
            dsMemberNewRow.Item("DOB") = txtDOB.Text
            dsMemberNewRow.Item("Sex") = txtSex.Text
            dsMemberNewRow.Item("Phone_Number") = txtPhone.Text
            dsMemberNewRow.Item("E-Mail_Address") = txtEmail.Text
            dsMemberNewRow.Item("Home_Address") = txtAddress.Text
            dsMemberNewRow.Item("Postcode") = txtPostcode.Text
            dsMember.Tables("Members").Rows.Add(dsMemberNewRow)  'creates new object
            daMember.Update(dsMember, "Members")
            MsgBox("New Record added to the Database")  'display message once process is completed
    
        End If
    
    End Sub
    
    我获取错误消息的代码行是
    daMember.Update(dsMember,“Members”)
    行。我怎么才能让它起作用,因为我觉得我什么都试过了

  • 在向数据库添加新记录的按钮代码中,我收到一条错误消息

    INSERT INTO语句中的语法错误

    当我在调试时单击按钮时,我再次不知道如何修复它。我单击按钮时会收到错误消息

  • 下面是按钮的代码:

    Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Dim cbMember As New OleDb.OleDbCommandBuilder(daMember)   'returns items from text box to dataset
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(0) = txtMemberID.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(1) = txtForename.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(2) = txtSurname.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(3) = txtDOB.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(4) = txtSex.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(5) = txtPhone.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(6) = txtEmail.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(7) = txtAddress.Text
        dsMember.Tables("Members").Rows(MemberRowNumber).Item(8) = txtPostcode.Text
        daMember.Update(dsMember, "Members") 'updates items to database
        MsgBox("Data updated")`
    
    Private Sub btnCommit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCommit.Click
    
        If MemberRowNumber <> -1 Then 'checks for a valid record to add
            Dim cbMember As New OleDb.OleDbCommandBuilder(daMember)   'declare new variables specifically for this statement
            Dim dsMemberNewRow As DataRow
            dsMemberNewRow = dsMember.Tables("Members").NewRow() 'adds new row
            dsMemberNewRow.Item("MemberID") = txtMemberID.Text
            dsMemberNewRow.Item("Forename") = txtForename.Text    'contains values to add to new row
            dsMemberNewRow.Item("Surname") = txtSurname.Text
            dsMemberNewRow.Item("DOB") = txtDOB.Text
            dsMemberNewRow.Item("Sex") = txtSex.Text
            dsMemberNewRow.Item("Phone_Number") = txtPhone.Text
            dsMemberNewRow.Item("E-Mail_Address") = txtEmail.Text
            dsMemberNewRow.Item("Home_Address") = txtAddress.Text
            dsMemberNewRow.Item("Postcode") = txtPostcode.Text
            dsMember.Tables("Members").Rows.Add(dsMemberNewRow)  'creates new object
            daMember.Update(dsMember, "Members")
            MsgBox("New Record added to the Database")  'display message once process is completed
    
        End If
    
    End Sub
    

    我多次遇到这个问题。SQL查询就是问题所在。这就是为什么显示此消息的原因,因为SQL解析器无法识别SQL查询中的令牌,并将其解释为必须或需要提供值的参数


    给出价值观。计算数据库的列数,然后计算有多少个值。然后,给出它的一个参数,确保没有遗漏其中一个。

    这表示数据库表中的列比代码中的设置多,或者代码中的一个列为null,并且表中的列不为null。从这里看不到,但这就是你应该寻找的。试试相关问题中的建议,看看是否有帮助。