所以我一直在为自己做这个个人项目,我试图创建一个程序,用户(在这种情况下我)可以通过我可以的表单添加,删除,更新数据库填写必要的信息。
为了总体而言,主窗体有一个数据网格视图,如果我单击加载,数据库将显示记录。我得到了所有这一切。然而,我遇到麻烦的地方是在Form1中添加了一个记录表格,我写下了这些信息,在填写之后我按下"提交"按钮,以便它可以在MS Access数据库上写入它。这是我在提交按钮内部的代码的一般视图。仅供参考,Profiles是mdb文件的名称,Contacts是包含recods的表的名称。
Imports System.Data.OleDb
Private Sub btnCommit_Click(sender As Object, e As EventArgs) Handles btnCommit.Click
If inc <> 0 Then
Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsnewrow As DataRow
dsnewrow = ds.Tables("Profiles").NewRow()
dsnewrow.Item("First_Name") = FirstNameText.Text
dsnewrow.Item("Last_Name") = LastNameText.Text
ds.Tables("Profiles").Rows.Add(dsnewrow)
da.Update(ds, "Profiles")
Main.DataGridView1.Refresh()
MsgBox("New Record added")
End If
End Sub
我不知道的是,是否有必要将以下代码添加到Form1_load:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Data Source= path to the mdb file"
con.ConnectionString = dbProvider & dbSource
con.Open()
Sql = "SELECT * FROM Contacts"
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Profiles")
con.Close()
Maxrows = ds.Tables("Profiles").Rows.Count
inc = -1
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
声明以下内容,仅供参考:
Dim con As New OleDb.OleDbConnection
Dim da As OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim dbProvider, dbSource As String
Dim sql As String
Dim Maxrows As Integer
此行上INSERT INTO语句中的语法错误:da.Update(ds, "Profiles")
任何帮助都会非常感激,不幸的是已经好几天了:/
如果您需要任何其他信息以澄清,请与我们联系。
答案 0 :(得分:0)
试试这个。在<{p>之后的btnCommit_Click
方法中
Dim cb As New OleDb.OleDbCommandBuilder(da)
添加以下内容:
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
这有帮助吗?