2013-04-17 119 views
2

這可能是我的一個愚蠢的錯誤..但我似乎無法理解它。本地數據庫插入不存儲

我創建了一個新的空的C#Windows窗體應用程序。

我添加了一個數據庫(基於數據集)並將文件存儲在我的解決方案資源管理器中。我已添加表Test與列Name

我添加使用new SqlCeCommand("insert into Test values('Name')", new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)).ExecuteNonQuery();

然而,我甚至試圖獲取相同的數據記錄,這一切完美的作品。

但是,當我停止我的項目,並重建它..所有的數據都消失了嗎?

有沒有辦法解決這個問題,還是將自我修復的時候我就開始使用這個項目它是用來幹什麼(不含500天重建?)

回答

0

由steve給出的答案會將數據庫複製到現有數據庫上,導致刪除所有數據。

我已經設法解決這個問題,把「始終複製」,然後在資源管理器中移動數據庫到不同的位置,並將其添加到項目。這樣數據庫將永遠不會被覆蓋,並且可以在程序中使用!

(然而,這可能會提出一個問題,如果/當我發佈該項目到另一臺計算機)

4

你的數據庫文件中列出與此屬性

Copy to destination directory = Copy Always 

如果這是真的,那麼每次重新啓動數據庫文件的一個新的(空)副本從項目目錄到輸出目錄複製的項目時間(BIN \ Debug或Bin \ RELEASE項目)覆蓋上一次運行中使用的數據庫文件。您可以避免將此屬性更改爲Copy NeverCopy if newer

+0

如果我把它放在「永不復制」,它給了我一個「未找到文件錯誤」。如果Newer不更改任何內容,則複製。 –

+0

您能否顯示使用的連接字符串? – Steve

+0

connectionString =「Data Source = | DataDirectory | \ Data \ Database \ Test.sdf」 - 這是\ Data \ Database \ Test.sdf也可以在我的bin/debug目錄中找到 –