c#和msaccess,保存数据网格

本文关键字:数据 数据网 网格 保存 msaccess | 更新日期: 2023-09-27 18:11:13

我正在写一个地址簿(其中包含一个数据网格视图)。在更改数据网格中的单元格时,可以进行保存更改。因此,我有以下代码:

private void btnSaveGrid_Click(object sender, EventArgs e) 
{
    try 
    {
        OleDbConnection cn = new OleDbConnection();
                OleDbCommand cmd = new OleDbCommand();
                cn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:'myFolder'myDatabase.accdb;Persist Security Info=False;";
                cn.Open();
                cmd.Connection = cn;
                cmd.CommandText = " SELECT * FROM myTable ";
                OleDbDataAdapter dAdapter = new OleDbDataAdapter(cmd.CommandText, cn);
                OleDbCommandBuilder builder = new OleDbCommandBuilder(dAdapter);
                dAdapter.Update(dTable); 
                cn.Close();
                MessageBox.Show("Information update", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

the dTable = new DataTable();写在InitializeComponent之前。

现在的问题是,当单元格在数据网格视图中被更改,但数据库没有更新新的信息!消息框没有提示"错误",而是提示"更新"。

我做错了什么?

Thanks in advance

c#和msaccess,保存数据网格

参考本文档:使用DataAdapter更新数据源

你首先需要写你自己的更新逻辑,以使它工作。

当然,正如@Crowcoder提到的,在进行任何更新之前,您还需要使用fill命令将数据绑定到DataTable…