1
VB.NET에서 Access (* .mdb) 데이터베이스의 테이블에있는 모든 데이터를 삭제하려고 시도했지만 다음 데이터를 다시 삽입 할 때 "INSERT INTO 문에서 구문 오류"라는 오류가 발생합니다. 코드 :테이블의 모든 데이터를 삭제하고 VB.NET을 사용하여 Access 데이터베이스에 새 레코드를 삽입하는 방법은 무엇입니까?
Imports System
Imports System.Data
Imports System.Data.SqlClient
...
'test.mdb file
'with a table "MyTable"
'with two fields:
'"name" (Memo), "value" (Memo)
Dim con As New OleDb.OleDbConnection
Dim dbProvider As String
Dim dbSource As String
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Data Source = C:\Users\Max\Desktop\test.mdb"
con.ConnectionString = dbProvider & dbSource
con.Open()
sql = "SELECT * FROM MyTable"
'select data from database, fill and clear dataset to get the table schema
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "MyTable")
ds.Clear()
'add a new row in the dataset
Dim dsNewRow As DataRow = ds.Tables("MyTable").NewRow()
dsNewRow.Item("name") = "TESTNAME"
dsNewRow.Item("value") = "TESTVALUE"
ds.Tables("MyTable").Rows.Add(dsNewRow)
'update the database
Dim objCommandBuilder As New OleDb.OleDbCommandBuilder(da)
da.Update(ds, "MyTable")
ds.Dispose()
da.Dispose()
con.Close()
con.Dispose()
"name"을 "fld1"및 "value"를 "fld2"로 변경하고 VB.Net 코드를 수정하여 새 필드 이름을 사용하는 경우에도 오류가 발생합니까? 아니면 다른 오류일까요? – HansUp
필드 이름을 변경하면 작동하는 코드가 표시되지만 이유는 모르겠습니다 !!!! – Max
'Name'과'Value'는 둘 다 [예약어] (http://allenbrowne.com/AppIssueBadWord.html)이기 때문에 Access db 객체 이름에는 적합하지 않습니다. – HansUp