我是使用 TableAdapters 的新手,我不确定发生了什么。本质上,我正在尝试使用生成的数据集将数据从一个数据库导出到具有不同架构的另一个数据库。当我单步执行代码时,就填充目标数据库的行而言,一切似乎都运行良好。但是,当我尝试将一行添加到目标数据库时,该行似乎没有被插入。你们有什么想法吗?我已将添加到项目集中的数据库设置为不复制到输出目录……所以我在网上看到的建议似乎不起作用。
OleDbConnection oleDbConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database\database.mdb;");
SomeTableAdapter tableAdapter = new SomeTableAdapter();
tableAdapter.Connection = oleDbConnection;
tableAdapter.Connection.Open();
SomeDataSet.SomeDataTable dataTable = tableAdapter.GetData();
SomeDataSet.SomeDataRow dataRow = null;
// Do some checks on the existing rows
// Creation of new row is necessary
if (dataRow == null)
dataRow = dataTable.NewSomeRow();
// Populate row fields
dataTable.AddSomeRow(dataRow);
dataTable.AcceptChanges();
}
else
{
// Update exiting row
}
tableAdapter.Update(dataTable);
tableAdapter.Connection.Close();