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
参考本文档:使用DataAdapter更新数据源
你首先需要写你自己的更新逻辑,以使它工作。
当然,正如@Crowcoder提到的,在进行任何更新之前,您还需要使用fill命令将数据绑定到DataTable…