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)"