2013-03-30 63 views
0

我創建一個簡單的示例來創建問題easyer。 所以在我的C#項目中,我創建了一個帶有文章的mdf數據庫。然後我在程序中連接數據庫並從表格文章中讀取數據。它給我的結果,但不是最新的。 如果我有一個結果,它會告訴我這一個。然後我在文章表中添加一篇新文章並再次運行程序,在這種情況下,程序僅向我展示第一篇文章。但如果我「構建解決方案」,它找到了所有這些。C#mdf數據庫不會在程序啓動時更新

我該怎麼辦?我希望這個程序在啓動時會有最新的結果。

SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"); 

try 
{ 
    cn.Open(); 

    string sqlQuery = "SELECT * FROM Articles"; 
    SqlCommand sqlCommand = new SqlCommand(sqlQuery, cn); 
    SqlDataReader sqlDataRead = sqlCommand.ExecuteReader(); 

    while (sqlDataRead.Read()) 
    { 
     MessageBox.Show(Convert.ToString(sqlDataRead["ArticleLabel"])); 
    } 

    sqlDataRead.Close(); 
    sqlDataRead.Dispose(); 
    sqlCommand.Cancel(); 

    cn.Close(); 
} 
catch (Exception) { MessageBox.Show("Database error!"); Application.Exit(); } 
+0

檢查您的MDF文件的屬性。 「複製到輸出目錄」的價值是什麼? – Steve

+0

值爲「始終複製」。我保留默認。 – Clem

回答

0

如果你的MDF文件具有財產Copy To Output Directory設置爲Copy Always,則每次你建立你的應用程序的數據庫文件的新副本從項目目錄輸出目錄(BIN\DEBUGBIN\RELEASE)複製。
當然,這摧毀你已經在你的程序的先前運行

更改屬性所做的任何更改Copy if Newer

另外,不要你在服務器管理器的Windows看到被愚弄。那裏的連接不能指向輸出目錄中的數據庫,而是指向項目目錄中的數據庫,其中不寫任何內容。

+0

我試過這個,但仍然是相同的結果 – Clem

+0

你可以添加實際的連接字符串到你的問題? – Steve

+0

好吧,已添加。 – Clem

相關問題