【发布时间】:2017-05-30 04:57:13
【问题描述】:
我正在尝试将对 datagridview 所做的更改保存到表 tbl_invent 中,我对 datagridview 所做的更改但它没有保存到表(数据库)中,它也没有任何错误,我收到的只是一条消息说“记录更新= 0”。谁能指出我正确的方向?
Dim da As New SQLiteDataAdapter("select * from tbl_Invent", connection)
Dim ds As New DataSet
'Dim cmdbuilder As New SQLite.SQLiteCommandBuilder(da)
Dim i As Integer
da.TableMappings.Add("tbl_Invent", "tbl_Invent") 'add due to error unable to Update unable to find TableMapping['Table'] or DataTable 'Table'
Try
i = da.Update(ds, "tbl_Invent")
MsgBox("Records Updated= " & i)
Catch ex As Exception
MsgBox(ex.Message)
End Try
connection.Close()
我已经查看了这个帖子: How to save changes from DataGridView to the database?
-和-
Datagridview save changes to Database vb.net
非常感谢您。
【问题讨论】:
-
根据该代码,您正在创建一个新的,即 EMPTY,
DataSet,然后尝试将其中包含的更改保存回您的数据库。如果DataSet根本不包含任何内容,那么显然它不包含任何更改,因此没有什么可保存的。您需要先创建一个DataTable并将其绑定到网格,然后在网格中进行更改,然后将该DataTable传递给您的Update调用。 -
我添加了 dim dt 作为新的数据表,da.Fill(dt),DataGridView1.DataSource = dt 然后更改 da.update(ds,"dt")。仍然没有保存。我想我在 da.update 中犯了一个错误……或者我所做的都是错的?
-
@jmcilhinney 在 vbforums 中阅读了您的答案后(我假设它是您的同名),我还添加了 Dim dt As DataTable = ds.Tables("tbl_Invent"),仍然没有任何保存
标签: vb.net sqlite datagridview