2013-03-07 120 views
1

我想了解如何使用MS Access與我的VB.net程序。我正在練習如何使用INSERT INTO語句,但我一直在收到錯誤。MS INSERT INTO對MS Access的聲明

這裏是我的代碼: 「OleDbException是未處理的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 

我得到這個錯誤在cmd.ExecuteNonQuery()

任何建議,非常感謝!謝謝!

回答

2

TEXTNUMBER也是保留所以應該劃定,

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

這工作!我會接受這個作爲我的答案。可以通過Values部分中的變量來傳遞? – gromit1 2013-03-07 16:45:50

+1

@ nordeen1是的,參數化的值。閱讀一些關於'OleDbCommand'.'Parameters' – 2013-03-07 16:47:04

+0

太棒了!我去做。謝謝! – gromit1 2013-03-07 16:49:00

1

使用CDATE您日期:

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