INSERT INTO 语句中的语法错误。 (VB 和 ACCESS 2013)
Syntax error in INSERT INTO statement. (VB and ACCESS 2013)
请原谅我问这个愚蠢的问题,但是...
我真的不知道如何解决这个语法错误
在我的数据库(访问 2013)中,我的 table
中有这些字段
字段 - 数据类型
否 - 数量
排名 - 短文本
姓氏 - 短文本
名字 - 短文本
中间名 - 短文本
地址 - 短文本
联系电话 - 短文本
ACCNT 代码 - 短文本
单位代码 - 数字
ATM 账户号码 - 号码
养老金类型 - 短文本
备注 - 短文本
这是我的代码:
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 语句中的语法错误。
我希望有人能指出我代码中的语法错误,因为我真的想不通它在哪里。(可能我现在的眼力真的很差)
试试用这个。所有列名都放在 []
括号中。可能会有问题,因为 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')"
请原谅我问这个愚蠢的问题,但是... 我真的不知道如何解决这个语法错误
在我的数据库(访问 2013)中,我的 table
中有这些字段字段 - 数据类型
否 - 数量
排名 - 短文本
姓氏 - 短文本
名字 - 短文本
中间名 - 短文本
地址 - 短文本
联系电话 - 短文本
ACCNT 代码 - 短文本
单位代码 - 数字
ATM 账户号码 - 号码
养老金类型 - 短文本
备注 - 短文本
这是我的代码:
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 语句中的语法错误。
我希望有人能指出我代码中的语法错误,因为我真的想不通它在哪里。(可能我现在的眼力真的很差)
试试用这个。所有列名都放在 []
括号中。可能会有问题,因为 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')"