用于MS Access的SQL INSERT INTO语句

时间:2013-03-07 16:28:00

标签: sql vb.net ms-access sql-insert oledbexception

我正在尝试学习如何在我的VB.net程序中使用MS Access。我正在练习学习如何使用INSERT INTO语句,但我一直收到错误。

这是我的代码:

Imports System.Data.OleDb

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim myConnection As OleDbConnection
    Dim DBpath As String = "C:\Documents and Settings\nordeen1\Desktop\Test.mdb"
    Dim sConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & DBpath & ";Persist Security Info=True"
    myConnection = New OleDbConnection(sConnectionString)
    myConnection.Open()
    Dim SQLstr As String
    SQLstr = "INSERT INTO Test (Text, [Date], Number) VALUES ('testing', #2/6/1990#, 5)"
    Dim cmd As New OleDbCommand(SQLstr, myConnection)
    cmd.ExecuteNonQuery()
End Sub
End Class

我收到此错误“OleDbException未处理.INSERT INTO语句中出现语法错误。”在cmd.ExecuteNonQuery()

非常感谢任何建议!谢谢!

2 个答案:

答案 0 :(得分:2)

TEXTNUMBER也是保留的,因此应将其分隔,

SQLstr = "INSERT INTO Test ([Text], [Date], [Number]) VALUES ('testing', #2/6/1990#, 5)"

答案 1 :(得分:1)

使用CDATE作为日期:

   "INSERT INTO Test ([Text], [Date], [Number]) 
              VALUES ('testing',  CDATE('1990-06-02 00:00:00'), 5)"