Database INSERT INTO语句中出现语法错误。vb(Microsoft Access)

Database INSERT INTO语句中出现语法错误。vb(Microsoft Access),database,vb.net,Database,Vb.net,我试图将一条记录添加到access数据库中,但不断出现错误。我是VB新手,我不知道哪里出了问题,可能是一些非常简单的问题,但我似乎无法解决。谢谢 Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click Dim dbprovider = "PROVIDER = Microsoft.ACE.OLEDB.12.0;" Dim dbsource = "Data Sou

我试图将一条记录添加到access数据库中,但不断出现错误。我是VB新手,我不知道哪里出了问题,可能是一些非常简单的问题,但我似乎无法解决。谢谢

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
       Dim dbprovider = "PROVIDER = Microsoft.ACE.OLEDB.12.0;"
        Dim dbsource = "Data Source = c:\users\oliverwilson118\documents\visual studio 2013\Projects\Enrolment_Tracker_OW\Enrolment_Tracker_OW\EnrolmentDatabase.accdb"
        con = New OleDb.OleDbConnection(dbprovider & dbsource)



        Dim sql = "INSERT INTO Applicants ([Course ID], [fName], [lName], [Gender], [DOB], [Address Line 1], [Address Line 2], [Town or City], [Postal Code], [Email], [Telephone], [Mobile], [Nat Insurence Num], [Employment Status], [Emergency Contact fName], [Emergency Contact lName], [Emergency Contact Telephone Num], [Relationship with Applicant]) Values ('" & Course_ID_Combobox.Text & "','" & First_NameTextBox.Text & "', '" & Second_NameTextBox.Text & "','" & GenderTextBox.Text & "','" & DOBDateTimePicker.Text & "','" & Address_Line_1TextBox.Text & "','" & Address_Line_2TextBox.Text & "','" & Town_CityTextBox.Text & "','" & Postal_CodeTextBox.Text & "','" & EmailTextBox.Text & "','" & TelephoneTextBox.Text & "','" & MobileTextBox.Text & "','" & National_Insurence_NoTextBox.Text & "','" & Employment_Status_Combobox.Text & "','" & Emergency_Contact_First_NameTextBox.Text & "','" & Emergency_Contact_Second_NameTextBox

.Text & "','" & Emergency_Contact_Telephone_NumberTextBox.Text & "','" & Relaitonship_to_ApplicantTextBox.Text & "',)"

        Using con = New OleDb.OleDbConnection(dbprovider & dbsource)
            Using cmd = New OleDb.OleDbCommand(sql, con)
                con.Open()
                MsgBox("Connection Open")
                cmd.Parameters.AddWithValue("@p2", "Value for [Course ID]")
                cmd.Parameters.AddWithValue("@p3", "Value for [fName]")
                cmd.Parameters.AddWithValue("@p4", "Value for [sName]")
                cmd.Parameters.AddWithValue("@p5", "Value for [Gender]")
                cmd.Parameters.AddWithValue("@P6", "Value for [DOB]")
                cmd.Parameters.AddWithValue("@p7", "Value for [Address Line 1]")
                cmd.Parameters.AddWithValue("@P8", "Value for [Address Line 2]")
                cmd.Parameters.AddWithValue("@P9", "Value for [Town City]")
                cmd.Parameters.AddWithValue("@P10", "Value for [Postal Code]")
                cmd.Parameters.AddWithValue("@P11", "Value for [Email]")
                cmd.Parameters.AddWithValue("@P12", "Value for [Telephone]")
                cmd.Parameters.AddWithValue("@P13", "Value for [Mobile]")
                cmd.Parameters.AddWithValue("@P14", "Value for [Nat Insurence Num]")
                cmd.Parameters.AddWithValue("@P15", "Value for [Employment Status]")
                cmd.Parameters.AddWithValue("@P22", "Value for [Emergency Contact fName]")
                cmd.Parameters.AddWithValue("@P23", "Value for [Emergency Contact lName]")
                cmd.Parameters.AddWithValue("@P24", "Value for [Emergency Contact Telephone Num]")
                cmd.Parameters.AddWithValue("@P25", "Value for [Relationship with Applicant]")

                MsgBox(cmd.ExecuteNonQuery.GetTypeCode())
                cmd.ExecuteNonQuery() <-------- THIS IS WHERE I GET MY ERROR
            End Using
        End Using
        MsgBox("Connection Closed. Record Added")

    End Sub
Private Sub btnSave\u单击(发送者作为对象,e作为事件参数)处理btnSave。单击
Dim dbprovider=“PROVIDER=Microsoft.ACE.OLEDB.12.0;”
Dim dbsource=“Data Source=c:\users\oliverwilson118\documents\visualstudio 2013\Projects\registration\u Tracker\u OW\registration\u Tracker\u OW\EnrolmentDatabase.accdb”
con=新的OleDb.OleDbConnection(dbprovider和dbsource)
Dim sql=“插入申请者([课程ID]、[姓名]、[性别]、[出生日期]、[地址行1]、[地址行2]、[城镇或城市]、[邮政编码]、[电子邮件]、[电话]、[手机]、[国家保险号码]、[就业状况]、[紧急联系人姓名]、[紧急联系人姓名]、[紧急联系人电话号码]、[与申请者的关系])值(“&Course\u ID\u Combobox.Text&”、“&First\u NameTextBox.Text&”、“&Second\u NameTextBox.Text&”、“&gendertexbox.Text&”、“&DOBDateTimePicker.Text&”、“&Address\u Line\u 1TextBox.Text&”、“&Address\u Line\u 2TextBox.Text&”、“&Town\u CityTextBox.Text&”、“&Postal\u CodeTextBox.Text&”、“&EmailTextBox.Text&”&TelephoneTextBox.Text&“,”&MobileTextBox.Text&“,”&National\u insurance\u NoTextBox.Text&“,”&Emergency\u Status\u Combobox.Text&“,”&Emergency\u Contact\u First\u NameTextBox.Text&“,”&Emergency\u Contact\u secondary\u NameTextBox
.Text&“,”&“紧急情况”\u联系电话号码”\u textbox.Text&“,”&relatitonship\u到应用程序textbox.Text&“,”)”
使用con=New OleDb.OleDbConnection(dbprovider和dbsource)
使用cmd=New OleDb.OleDbCommand(sql,con)
con.Open()
MsgBox(“连接打开”)
cmd.Parameters.AddWithValue(“@p2”,“课程ID的值”)
cmd.Parameters.AddWithValue(@p3,[fName]的值)
cmd.Parameters.AddWithValue(@p4),[sName]的值)
cmd.Parameters.AddWithValue(“@p5”,“性别值”)
cmd.Parameters.AddWithValue(@P6),[DOB]的值)
cmd.Parameters.AddWithValue(“@p7”,“地址行1的值”)
cmd.Parameters.AddWithValue(“@P8”,“地址行2的值”)
cmd.Parameters.AddWithValue(“@P9”,“用于[城镇城市]的值”)
cmd.Parameters.AddWithValue(“@P10”,“用于[邮政编码]的值”)
cmd.Parameters.AddWithValue(“@P11”,“用于[电子邮件]的值”)
cmd.Parameters.AddWithValue(“@P12”,“用于[电话]的值”)
cmd.Parameters.AddWithValue(“@P13”,“移动设备的值”)
cmd.Parameters.AddWithValue(“@P14”,“用于[Nat保险编号]的值”)
cmd.Parameters.AddWithValue(“@P15”,“就业状态”的值”)
cmd.Parameters.AddWithValue(“@P22”,“紧急联系人fName]的值”)
cmd.Parameters.AddWithValue(“@P23”,“紧急联系人lName]的值”)
cmd.Parameters.AddWithValue(“@P24”,“紧急联系电话号码”的值”)
cmd.Parameters.AddWithValue(“@P25”,“与申请人的关系”的值”)
MsgBox(cmd.ExecuteNonQuery.GetTypeCode())

cmd.ExecuteNonQuery()错误消息是什么?在我看来,您添加了参数,但没有在sql中使用它们?在字符串中使用控件时,它们需要在参数中。。。例如:.addwithvalue(“p25”,relationship.text),然后在字符串中引用参数。