2011-06-10 35 views
2

我有一個問題,讓我發瘋... 我有一個本地數據庫(.sdf)在我的電腦上的數據庫在互聯網上(MySQL),兩者都有相同的結構。 我首先通過dataadapter從數據集中加載數據,然後在數據集中加載一些本地數據。tableadapter.update不起作用?

現在我想從互聯網上存儲的數據也在本地數據庫中,我用Update語句試了一下。這必須工作,但每次我運行程序(調試),我回到本地數據庫(通過數據庫瀏覽器,右鍵單擊表,顯示錶數據...),互聯網數據還沒有保存!

要清楚我確實在dataGrid1中看到了兩個數據(來自Internet的本地en)。

您認爲是什麼問題?

 klantenTableAdapter.ClearBeforeFill = false; 

     DigiLocalDataSet dataset = new DigiLocalDataSet(); 

     string MyConString = "SERVER=server;" + 
        "DATABASE=db;" + 
        "UID=uid;" + 
        "PASSWORD=pass;"; 
     string sql = "SELECT klantnr, geslacht, voorletters, roepnaam, achternaam, tussenvoegsel, straat, huisnr, subhuisnr, postcode, plaats, telthuis, telmobiel, email, geboortedatum FROM klanten ORDER BY roepnaam"; 

     MySqlConnection connection = new MySqlConnection(MyConString); 

     MySqlCommand cmdSel = new MySqlCommand(sql, connection); 

     MySqlDataAdapter da = new MySqlDataAdapter(cmdSel); 


     //Fill from internet 
     da.Fill(dataset.klanten); 


     //Fill from local database 
     klantenTableAdapter.Fill(dataset.klanten); 

     klantenTableAdapter.Update(dataset.klanten); 

     //dataset.AcceptChanges(); 

     this.DataContext = dataset.klanten.DefaultView; 

在此先感謝!

+0

您的'互聯網'行有_Unchanged_狀態。最好將記錄複製到新表中,也許保留2個數據集。 – 2011-06-10 19:41:01

+0

如果Henk說的是真的(非常可能;-)),那麼嘗試編輯一些「互聯網」數據。這些行應該在Update之後變得可見。 – Dabblernl 2011-06-10 23:06:37

+0

這不起作用,實際上我想要做的就是將互聯網MySQL表格數據複製到本地機器上完全相同的表格。我認爲這是一個正確的方式,但也許不是。你們中的一個人是否有想法讓這種情況發生? – 2011-06-12 13:19:38

回答

0

對此不瞭解,但是您是否需要致電SaveChanges將它提交到數據庫?

+0

不,這將是EF上下文中的SaveChanges。 – 2011-06-10 20:43:02

0

似乎de db引用使用相對路徑。數據集嚮導建議將拷貝到數據庫到你的輸出目錄。但是,在服務器資源管理器中,您仍在檢查原始數據庫。這可能嗎? ;-)