数据源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的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 如何用datagridview增、删、改数据

c# datagridview1 指定某列数据居中

关于VB.NET中 datagridview 刷新问题

C# winform datagridview如何计算统计

C#对datagridview数据排序

如何向datagridview添加行