C# 将特定表行从一个数据库源复制到另一个数据库源
我正在尝试使用C#将特定行从一个数据库的表复制到另一个数据库。我使用C# 将特定表行从一个数据库源复制到另一个数据库源,c#,C#,我正在尝试使用C#将特定行从一个数据库的表复制到另一个数据库。我使用DataAdapter.Update(DataSet)功能尝试了以下操作: using (OleDbConnection sourceConnection = new OleDbConnection(source)){ using (OleDbConnection destinationConnection = new OleDbConnection(destination)) {
DataAdapter.Update(DataSet)
功能尝试了以下操作:
using (OleDbConnection sourceConnection = new OleDbConnection(source)){
using (OleDbConnection destinationConnection = new OleDbConnection(destination))
{
sourceConnection.Open();
destinationConnection.Open();
OleDbDataAdapter adapter1 = new OleDbDataAdapter();
adapter1.SelectCommand = new OleDbCommand("SELECT * FROM Table1", sourceConnection);
adapter1.Fill(dataSet);
OleDbDataAdapter adapter2 = new OleDbDataAdapter();
adapter2.SelectCommand = new OleDbCommand("SELECT * FROM Table1", destinationConnection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter2);
adapter2.UpdateCommand = builder.GetUpdateCommand();
adapter2.Update(dataSet);
sourceConnection.Close();
destinationConnection.Close();
}
}
如何使其工作?当datatable的数据发生更改时,adapter.update()可以工作,但也有更改。源表中的行与目标表中的行不同@MarioWuSorry,我说的是dataadapter中的datatable。填充(数据集)。数据适配器。update()的工作原理如下:每次对数据表进行更改时,它都会将其写入更改状态、更改内容、添加内容和删除内容。当您调用dataadapter时。update(),它将基于此datatable更改状态生成查询以操作数据库中的数据。如果您从1个数据库获取数据,请对datatable进行一些更改,调用datatable.acceptchanges(),然后进行更新,您更改的数据将不会写入数据库,因为这样做。acceptchanges()清除更改状态清除更改状态,同样的情况也会发生,没有数据更改记录->没有更新