C# 将特定表行从一个数据库源复制到另一个数据库源

C# 将特定表行从一个数据库源复制到另一个数据库源,c#,C#,我正在尝试使用C#将特定行从一个数据库的表复制到另一个数据库。我使用DataAdapter.Update(DataSet)功能尝试了以下操作: using (OleDbConnection sourceConnection = new OleDbConnection(source)){ using (OleDbConnection destinationConnection = new OleDbConnection(destination)) {

我正在尝试使用C#将特定行从一个数据库的表复制到另一个数据库。我使用
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()清除更改状态清除更改状态,同样的情况也会发生,没有数据更改记录->没有更新