SQL INSERT INTO оператор для MS Access

Я пытаюсь узнать, как использовать MS Access с моей программой VB.net. Я практикуюсь, изучая, как использовать оператор 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 ответа

Решение

TEXT а также NUMBER также зарезервированы, поэтому они должны быть разделены,

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

Использование CDATE для вашей даты:

   "INSERT INTO Test ([Text], [Date], [Number]) 
              VALUES ('testing',  CDATE('1990-06-02 00:00:00'), 5)"
Другие вопросы по тегам