2016-01-28 55 views
-1

我正在使用winform c#和phpmyadmin(數據庫)。我有2個不同的數據庫(db1和db2)。使用c中另一個數據庫的數據填充數據庫#

我想獲取的DB1表1的一列 存儲這些信息在DB2 的表2這樣,如果有DB1中的列的任何修改,在DB2應automacally更新的數據。

這是我所使用的邏輯,但它不工作:

using MySql.Data.MySqlClient; 
namespace GNMS 
{ 
    public partial class doublecoonection : Form 
    { 
     DataSet ds; 
     MySqlDataAdapter da1; 
     MySqlDataAdapter da2; 
     MySqlConnection connec1; //for 1st database 
     MySqlConnection connec2;//for the 2nd one 
     public doublecoonection() 
     { 
      InitializeComponent(); 
     } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string str_conn = "server=localhost;username=root;password=****;port=3306"; 
     string query1 = "select id,city from enugro.city;"; //query1 for 1st DB 
     connec1 = new MySqlConnection(str_conn); 
     try 
     { 
      connec1.Open(); 
      da1 = new MySqlDataAdapter(query1, connec1);// this is how i stored results of first data in object da 

      connec1.Close(); 

      connec2 = new MySqlConnection(str_conn); // open second connection 
      connec2.Open(); 
      string query2 = "insert into enugro_africa.reports(id,city) value(da1);"; 
      da2 = new MySqlDataAdapter(query2, connec2);//query for 2nd DB 
      ds = new DataSet();//store in the temporarily 
      da2.Fill(ds); //fill the dataset "ds" 
      dataGridView1.DataSource = ds;//display the result in a datagridview 


     } 
     catch(Exception ex){ 
      MessageBox.Show(ex.Message); 
     } 
    } 
} 

}

請ü可以幫助我?

+2

聽說過的[複製](http://stackoverflow.com/questions/3402794/mysql-replication)?如果沒有_please_在提出已經回答的這樣的問題之前做一些研究。 – kayess

回答

0

您正在使用斷開連接的ADO.Net架構...這意味着您不必打開和關閉連接......數據適配器將爲您執行此操作。刪除該代碼並重試

此外,您的查詢2似乎不正確。 您必須調用填充第一個數據適配器的填充數據集,然後遍歷數據集,然後調用第二個查詢來傳遞您想要傳遞的值。

或者,可以通過整個數據作爲XML來存儲的過程,它可以做批量插入

相關問題