如何使用 DataAdapter.Update 方法同时更新 Access 数据库和 .NET DataSet 对象?
Posted
技术标签:
【中文标题】如何使用 DataAdapter.Update 方法同时更新 Access 数据库和 .NET DataSet 对象?【英文标题】:How to simultaneously update an Access database and a .NET DataSet object using the DataAdapter.Update method? 【发布时间】:2009-07-22 08:10:47 【问题描述】:我已将一个 Access 数据库导入我的 Visual Studio 2008 项目(用 C# 编写),它从数据源读取表字段,但在更新时它只在 DataSet
对象中执行,而不是在实际数据库中。
这是我的代码:
System.Data.OleDb.OleDbDataAdapter da;
private void button2_Click(object sender, EventArgs e)
var cb = new System.Data.OleDb.OleDbCommandBuilder(da);
DataRow dRow = ds1.Tables["ever"].NewRow();
dRow[1] = textBox1.Text;
dRow[2] = textBox1.Text;
dRow[3] = textBox1.Text;
ds1.Tables["ever"].Rows.Add(dRow);
da.Update(ds1, "ever");
MessageBox.Show("Record added");
但是,显示以下异常:
"ConnectionString 属性没有 已初始化。”
在这一行:
da.Update(ds1, "ever");
【问题讨论】:
您必须向我们展示“da”是如何声明和初始化的。 System.Data.OleDb.OleDbDataAdapter da; 你在哪里实例化 da? 实例化是:da = new OleDbDataAdapter (..); 【参考方案1】:Update 方法使用您在 UpdateCommand 属性中指定的命令。我怀疑这是你问题的一部分。每个命令(SELECT、INSERT、UPDATE、DELETE)的连接字符串可能都有类似的属性。
【讨论】:
以上是关于如何使用 DataAdapter.Update 方法同时更新 Access 数据库和 .NET DataSet 对象?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 DataAdapter.Update() 不更新数据库
使用 C# dataAdapter.Fill() 和 dataAdapter.Update() 将表的数据从一个数据库传输到另一个数据库的同一个表
在 DataAdapter.Update/Refresh 后未设置 DataTable 标识列,使用“而不是”触发器(SqlServer 2005)