2013-07-03 31 views
0

最近我在SQL Server 2008 R2數據庫上工作。我創建數據庫並在我的應用程序中附加同一數據庫的.mdf文件,其中包含一些默認數據。正確運行應用程序默認數據。現在我插入,更新我的應用程序中的一些數據,它的工作正常。但是當我退出應用程序並再次運行應用程序時,最後添加和更新的數據會丟失,但默認數據會像以前一樣正常。請幫忙。爲什麼新加入當我退出應用程序時,.mdf文件中丟失的數據

+2

您是否在關閉前提交對數據庫的更改? – Ehsan

+0

只要確保你有一個mdf文件,在我看來你是插入並更新到其他數據庫。 :) – Microtechie

+0

@Ehsan,是的,我在每次數據庫操作後都保存更改。它的工作正常,如果我連接到本地計算機上的SQL服務器R2(通過更改App.Config中的連接字符串)。 –

回答

4

正如@Henk提到的,@Microtechie,我掃描了我的項目文件夾,發現有3個.mdf文件副本,第一個項目文件夾中的代碼項目([ProjectFolder])位於[ProjectFolder]的第二個/ bin/debug文件夾以及[ProjectFolder]/bin/release文件夾中的第三個文件夾,並突然解決了我的問題。問題不在項目文件夾中的多個.mdf文件中,因爲我每次'清潔'和'構建'我的解決方案時,[ProjectFolder]中的.mdf文件的新副本被複制到[ProjectFolder]/bin/debug文件夾中,導致覆蓋最後一個.mdf文件在同一個文件夾中。因此,每次構建和運行應用程序時,只有默認數據到來,最後添加和更新的數據會丟失。 Thanku所有的答覆和準確的答案..!

+0

你是如何完全解決問題的? – ejmtv

+1

將mdf文件放置在與項目bin文件夾不同的位置。 –

-2

什麼樣的對象,你加載你的.mdf文件數據?在關閉應用程序之前,您可能需要在該對象中保存更改。

+0

我使用了實體框架(.edmx)。並且每個數據庫語句都在'使用'store子句的意思是使用範圍end數據庫連接關閉。例如 '使用(Mystore _store = new MyStore()) { //數據庫操作 _store.SaveChanges(); }' –

相關問題