修改DATADIRDVIEW中的记录更新至access
Public Class user_infor
Private Mcon As OleDbConnection = Nothing
Private Adapter As OleDbDataAdapter = Nothing
Private Mcom As OleDbCommand = Nothing
Private Table As DataTable
Private Sub user_infor_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub user_query_btn_Click(sender As Object, e As EventArgs) Handles user_query_btn.Click
Try
Mcon = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cx.mdb")
Mcon.Open()
Adapter = New OleDbDataAdapter
Mcom = New OleDbCommand
Mcom.Connection = Mcon
Mcom.CommandType = CommandType.Text
Mcom.CommandText = "Select * from [user]"
Adapter.SelectCommand = Mcom
'创建一个DataTable对象,存放从数据库中取出来的数据
Table = New DataTable
Adapter.Fill(Table)
user_dgv.DataSource = Table
'显示信息
MsgBox("数据已取回,共" & Table.Rows.Count & "条")
Catch ex As Exception
'显示出错信息
MsgBox(ex.Message)
End Try
End Sub
Private Sub user_modify_btn_Click(sender As Object, e As EventArgs) Handles user_modify_btn.Click
Dim CB As OleDbCommandBuilder
'If CB Is Nothing Then
Dim tempDT As DataTable
tempDT = Table.GetChanges()
'MsgBox(Table.GetChanges.ToString)
If tempDT Is Nothing Then
MsgBox("数据未修改。")
Exit Sub
End If
CB = New OleDbCommandBuilder
CB.DataAdapter = Adapter
Adapter.UpdateCommand = CB.GetUpdateCommand
Adapter.InsertCommand = CB.GetInsertCommand
Adapter.DeleteCommand = CB.GetDeleteCommand
'End If
'将更改保存到数据库中
Adapter.Update(Table)
MsgBox("数据已更新")
End Sub
对datagirdview中的记录进行修改、删除、添加,然后跟新至access中, Adapter.Update(Table)提示出错
[解决办法]
好吧,我也算是长知识了。
CB = New OleDbCommandBuilder(Adapter)
这句下面添加
CB.QuotePrefix = "["
CB.QuoteSuffix = "]"
就能搞定了。