运行此代码时,我在INSERT INTO语句中收到语法错误

时间:2014-12-30 09:48:48

标签: vb.net ms-access-2010

您好我的代码抛出异常,错误消息是INSERT INTO语句中的语法错误:我需要帮助识别语句中的错误,我已经搜索过它并且似乎无法识别

  Dim sSql As String = "INSERT INTO MEMBERS ([MID], [NAME], [SURNAME], [GENDER], [PHONE], [ADDRESS]," _
                                           & "[STATUS], [JOB], [DOB], [TITLE], [INITIALS], [AGE], [FOTO], [2MID], [RELATE]" _
                                           & " [2#], [2NOTES], [DOBa], [POB], [BO], [LRs], [AD], [AOID], [MNOTES], [LAN], [AP])" _
                                           & "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) "
                    ' Dim MEM As String = "INSERT INTO MEMBERS (MID, SURNAME, ADDRESS)" & "VALUES(?,?,?)"



                    Dim save As New OleDbCommand(sSql, DC)
                    save.Parameters.AddWithValue("?", txtID.Text)
                    save.Parameters.AddWithValue("?", txtName.Text)
                    save.Parameters.AddWithValue("?", txtSName.Text)
                    save.Parameters.AddWithValue("?", Gender.Text)
                    save.Parameters.AddWithValue("?", Phone.Text)
                    save.Parameters.AddWithValue("?", txtAdd.Text)
                    save.Parameters.AddWithValue("?", Status.Text)
                    save.Parameters.AddWithValue("?", Work.Text)
                    save.Parameters.AddWithValue("?", dtpDOB.Text)
                    save.Parameters.AddWithValue("?", cmbT.Text)
                    save.Parameters.AddWithValue("?", txtIT.Text)
                    save.Parameters.AddWithValue("?", Age.Text)
                    save.Parameters.Add("?", OleDbType.VarBinary).Value = stream.GetBuffer()
                    save.Parameters.AddWithValue("?", txtNoKID.Text)
                    save.Parameters.AddWithValue("?", txtR.Text)
                    save.Parameters.AddWithValue("?", txtRNs.Text)
                    save.Parameters.AddWithValue("?", txt2N.Text)
                    save.Parameters.AddWithValue("?", dtpDOBa.Text)
                    save.Parameters.AddWithValue("?", txtPOB.Text)
                    save.Parameters.AddWithValue("?", txtBO.Text)
                    save.Parameters.AddWithValue("?", txtLRs.Text)
                    save.Parameters.AddWithValue("?", dtpAD.Text)
                    save.Parameters.AddWithValue("?", txtAOID.Text)
                    save.Parameters.AddWithValue("?", rtbMNotes.Text)
                    save.Parameters.AddWithValue("?", txtLAN.Text)
                    save.Parameters.AddWithValue("?", txtAP.Text)
                    save.Parameters.AddWithValue("?", txtID.Text)
                    save.ExecuteNonQuery()
                    DC.Close()
                End Using
            End Using
            'Catch ex As Exception
            'MsgBox(ex.Message)
            'End Try

        End If

1 个答案:

答案 0 :(得分:2)

您在[RELATE]之后错过了一个逗号。

还要考虑使用命名参数而不是匿名参数。