C# 使用Ado.NET将数据从Database1 Mysql表复制到Database2 Mysql表
使用Entitiy框架将数据从一个数据库传输到另一个数据库似乎并不简单。因此,我对datatables和dataadapters进行了另一次尝试:C# 使用Ado.NET将数据从Database1 Mysql表复制到Database2 Mysql表,c#,mysql,database,ado.net,dataadapter,C#,Mysql,Database,Ado.net,Dataadapter,使用Entitiy框架将数据从一个数据库传输到另一个数据库似乎并不简单。因此,我对datatables和dataadapters进行了另一次尝试: MySqlDataAdapter dataAdapter = new MySqlDataAdapter(); MySqlCommand command = connection.CreateCommand(); string query2 = "SELECT * FROM `" + targetTable + "`";
MySqlDataAdapter dataAdapter = new MySqlDataAdapter();
MySqlCommand command = connection.CreateCommand();
string query2 = "SELECT * FROM `" + targetTable + "`";
command.CommandText = query2;
dataAdapter.SelectCommand = command;
DataTable tableToUpdate = new DataTable("myTable");
dataAdapter.FillSchema(tableToUpdate, SchemaType.Source);
dataAdapter.Fill(tableToUpdate);
// an den DataAdapter übergeben
MySqlCommandBuilder myComBuilder = new MySqlCommandBuilder(dataAdapter);
dataAdapter.UpdateCommand = myComBuilder.GetUpdateCommand();
dataAdapter.InsertCommand = myComBuilder.GetInsertCommand();
tableToUpdate.Merge(sourceDT,false);
int changeCount = dataAdapter.Update(tableToUpdate);s
DataTable changes = tableToUpdate.GetChanges();
update和insert命令似乎是正确的,但数据库中没有更新任何内容
编辑:
问题似乎在于数据表的合并。不添加新列。添加了新行,但行状态保持不变。可能很愚蠢,但我看不到tableToUpdate.AcceptChanges()这不是解决方案