INSERT INTO语句中的语法错误。 (VB和ACCESS 2013)

时间:2015-03-06 09:29:00

标签: sql vb.net ms-access ms-access-2013

请原谅我提出这个愚蠢的问题,但...... 我真的无法弄清楚如何解决这种语法错误

在我的数据库(访问2013)中,我在表格中有这些字段

字段 - 数据类型

否 - 数字

RANK - 短文

最后一个名字 - 短文

第一个名字 - 短文

MIDDLE NAME - 短文

ADDRESS - 短文

联系号码 - 短文

ACCNT CODE - 短文

单位代码 - 编号

ATM ACCNT NUMBER - 号码

PENSION TYPE - 短文

备注 - 短文

这是我的代码:

Imports System.Data.OleDb

Public Class Form2

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim con As New OleDbConnection
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Retiree.accdb"

    Dim cmd As New OleDb.OleDbCommand
    If Not con.State = ConnectionState.Open Then
        con.Open()
    End If
    cmd.Connection = con


    cmd.CommandText = "INSERT INTO Retiree(NO, RANK, [LAST NAME], [FIRST NAME], [MIDDLE NAME], ADDRESS, [CONTACT NUMBER], [ACCNT CODE], [UNIT CODE], [ATM ACCNT NUMBER], [PENSION TYPE], REMARKS) VALUES(399, 'dfdGDFGF', 'GwejjweDFGF', 'GDfgfgFGF', 'GDFGfgfF', 'GDFfdftertGF', 'GfgdfggfgfgDFGF', 'GdfggfdgvbvDFGF', 1323, 2132, 'GDFgdsfbvsdGF', 'GDsgdfsjjjFGF')"

    cmd.ExecuteNonQuery()
    con.Close()
    Me.Close()


End Sub


End Class

我得到的错误信息是: INSERT INTO语句中的语法错误。

我希望有人可以在我的代码中指出语法错误,因为我真的无法弄清楚它在哪里。(也许我的视力现在非常糟糕)

1 个答案:

答案 0 :(得分:1)

尝试使用此功能。所有列名都放在[]括号中。可能存在问题,因为No是保留字,它应该在[]内。

 cmd.CommandText = "INSERT INTO Retiree([NO], [RANK], [LAST NAME], [FIRST NAME], [MIDDLE NAME], [ADDRESS], [CONTACT NUMBER], [ACCNT CODE], [UNIT CODE], [ATM ACCNT NUMBER], [PENSION TYPE], [REMARKS]) VALUES(399, 'dfdGDFGF', 'GwejjweDFGF', 'GDfgfgFGF', 'GDFGfgfF', 'GDFfdftertGF', 'GfgdfggfgfgDFGF', 'GdfggfdgvbvDFGF', 1323, 2132, 'GDFgdsfbvsdGF', 'GDsgdfsjjjFGF')"