首页 文章

datasource datagridview tableadapter

提问于
浏览
0

我使用vb.net连接mysql.data.dll以连接到mysql数据库 .

在vb.net的设计者中,我添加了数据源,并添加了gridview,并调整了gridview以将新添加的数据源作为数据源 .

在我的表单的load事件中,我得到了这个代码;

Me.GdcTableAdapter.Fill(Me.GdcDataSet.gdc)

当我触发表单时,datagridview将填充我的数据库中的表 .

现在,当我在datagrid视图中编辑内容时,它不会保存回数据库 .

我找到了一个如何做的例子;

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 .

那么我现在如何将数据写回数据库呢?

日Thnx!

1 回答

  • 0

    我找到了;

    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
    

相关问题