数据源datagridview tableadapter
Posted
技术标签:
【中文标题】数据源datagridview tableadapter【英文标题】:datasource datagridview tableadapter 【发布时间】:2014-07-28 16:03:35 【问题描述】:我使用vb.net 连接mysql.data.dll 来连接mysql 数据库。
在vb.net的设计器中我已经添加了数据源,我已经添加了一个gridview,并调整了gridview以将新添加的数据源作为数据源。
在我的表单的加载事件中,我得到了这段代码;
Me.GdcTableAdapter.Fill(Me.GdcDataSet.gdc)
当我触发表单时,datagridview 会填充我数据库中的表。
现在,当我在数据网格视图中编辑内容时,它不会保存回数据库中。
我找到了一个如何做的例子;
private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
DataTable changes = ((DataTable)dataGridView1.DataSource).GetChanges();
if (changes != null)
MySqlCommandBuilder mcb = new MySqlCommandBuilder(mySqlDataAdapter);
mySqlDataAdapter.UpdateCommand = mcb.GetUpdateCommand();
mySqlDataAdapter.Update(changes);
((DataTable)dataGridView1.DataSource).AcceptChanges();
但是添加数据源,并没有添加MySqlDataAdapter,而是添加了TableAdapter。
那么我现在怎样才能将我的数据写回数据库呢?
谢谢!
【问题讨论】:
【参考方案1】:我找到了;
Private Sub DataGridView1_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.RowValidated
Dim modifiedRows As gdcDataSet.gdcDataTable = CType(GdcDataSet.gdc.GetChanges(Data.DataRowState.Modified), gdcDataSet.gdcDataTable)
If modifiedRows IsNot Nothing Then
GdcTableAdapter.Update(modifiedRows)
GdcDataSet.AcceptChanges()
modifiedRows.Dispose()
End If
End Sub
【讨论】:
以上是关于数据源datagridview tableadapter的主要内容,如果未能解决你的问题,请参考以下文章