Vb.net visual basic。语法错误在insert into中

Vb.net visual basic。语法错误在insert into中,vb.net,Vb.net,SQL中的标识符只能由字母数字字符(和下划线)组成,因此名称中不能有斜杠“/”字符 数据库中的列名(和其他对象名)可以包含其他字符,但它们的名称必须在方括号中转义[](T-SQL和Access)或`backticks(MySQL)或双引号”(PostgreSQL): T-SQL中的参数名和变量名不能转义,必须是字母数字 将代码更改为: Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles

SQL中的标识符只能由字母数字字符(和下划线)组成,因此名称中不能有斜杠“/”字符

数据库中的列名(和其他对象名)可以包含其他字符,但它们的名称必须在方括号中转义
[]
(T-SQL和Access)或
`
backticks(MySQL)或双引号
(PostgreSQL):

T-SQL中的参数名和变量名不能转义,必须是字母数字

将代码更改为:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If Me.firstswim.Text = "" Or Me.lastswim.Text = "" Or Me.yearswim.Text = "" Or Me.addressswim.Text = "" Or Me.contactswim.Text = "" Then
        MsgBox("Please fill-up all of the textbox! ", , "Error!")
    Else

        Try
            OpenDB()

            Dim sql As String = "INSERT into Swimming (FirstName,LastName,Year/Course,Address,ContactNumber) VALUES (@FirstName,@LastName,@Year/Course,@Address,@ContactNumber)"
            Dim cmd = New OleDb.OleDbCommand(sql, con)
            cmd.Parameters.AddWithValue("@FirstName", Me.firstswim.Text)
            cmd.Parameters.AddWithValue("@LastName", Me.lastswim.Text)
            cmd.Parameters.AddWithValue("@Year/Course", Me.yearswim.Text)
            cmd.Parameters.AddWithValue("@Address", Me.addressswim.Text)
            cmd.Parameters.AddWithValue("@ContactNumber", Me.contactswim.Text)
            cmd.ExecuteNonQuery()
            MsgBox("Save Success")
            Return
            LoadSwimming()
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            closeDB()

        End Try
    End If
End Sub

当您对列使用错误的名称时,会发生这种情况。在出现转义的所有地方都会出现转义:
[Year/Course]
或将名称更改为更好的名称。仍然是相同的语法错误…..我在一年/一年的课程中更改了所有内容,包括数据库中的字段名….@RamFrancia您针对的是哪个数据库系统?
INSERT INTO ... LastName, [Year/Course], Address ... @lastName, @yearCourse, @address ...

cmd.Parameters.AddWithValue("@yearCourse", Me.yearswim.Text)