2013-08-10 3 views
1

Я копирую данные с SQL-сервера в mysql. Я загружаю таблицу из SQL-сервера и таблицу из mysql и копирую данные. Данные копируются в новую таблицу, но таблицы в базе данных остаются пустыми. заранее спасибо. Вот мой код -Таблица mysql не обновляется

private void WriteTable(DataTable table, string tablename) 
    { 
     long maxid=0; 
     MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("select * from " + tablename, mysqlConn); 
     MySql.Data.MySqlClient.MySqlDataAdapter adapter = new MySql.Data.MySqlClient.MySqlDataAdapter(cmd); 
     DataTable dest = new DataTable(); 
     adapter.Fill(dest); 
     txtMessages.Text += table.Rows.Count.ToString()+"\r\n"; 
     foreach (DataRow row in table.Rows) 
     { 
      DataRow newrow = dest.NewRow(); 
      newrow.BeginEdit(); 
      foreach (DataColumn col in table.Columns) 
      { 
       newrow[col.Caption] = row[col.Caption]; 
      } 
      newrow.EndEdit(); 
      dest.Rows.Add(newrow); 
      maxid = long.Parse(row["RowID"].ToString()); 
      txtMessages.Text += maxid.ToString() + "\r\n"; 
      SetRowID(tablename, maxid); 
     } 
     MySql.Data.MySqlClient.MySqlCommandBuilder builder = new MySql.Data.MySqlClient.MySqlCommandBuilder(adapter); 
     adapter.DeleteCommand = builder.GetDeleteCommand(); 
     adapter.InsertCommand = builder.GetInsertCommand(); 
     adapter.UpdateCommand = builder.GetUpdateCommand(); 
     dest.AcceptChanges(); 
     adapter.Update(dest); 

    } 
+0

Возможный дубликат [Обновление с использованием MySqlDataAdapter не работает] (http://stackoverflow.com/questions/15259400/update-using-mysqldataadapter-doesnt-work) – melodiouscode

ответ

0

Посмотрите более на этом SO question Аскер была такая же проблема, как вы; он был устранен путем удаления команды .AcceptChanges();. Фактически вы уже сказали буфере, что изменения были записаны обратно, поэтому, когда вы затем делаете больше, они не получают совершенных.

Смежные вопросы