【问题标题】:datasource datagridview tableadapter数据源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。

那么我现在怎样才能将我的数据写回数据库呢?

谢谢!

【问题讨论】:

    标签: mysql vb.net datagridview 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-07
      • 2015-11-04
      • 2017-10-26
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2014-01-14
      相关资源
      最近更新 更多