我有WinForms應用程序正在構建,並且正在使用SQL Server Compact Edition 3.5。如何解釋此SQL Server CE行爲 - 不更新
每當我運行WinForms應用程序,然後我在Visual Studio中打開查詢編輯器後,我運行的任何更新查詢都不會反映在應用程序中。如果我運行Select
查詢來查看更新的記錄,我可以從查詢結果中看到數據已更改但未在應用程序中反映出來。
如果關閉應用程序並再次運行應用程序,則更新會反映出來。
這是正常的嗎?這個最好的解釋是什麼?
UPDATE
從C#
string sqlceConnString = @"Data Source=|DataDirectory|\medicstores.sdf";
來自新的查詢連接窗口在Visual Studio
C:\Users\user12345\...\Visual Studio 2010\Projects\StockPro\StockProFormUI\medicstores.sdf
更新
我認爲這可能是由於應用程序複製數據庫文件複製到\StockPro\StockProFormUI\bin\Debug\medicstores.sdf
而不是使用\StockPro\StockProFormUI\medicstores.sdf
。
我覺得|DataDirectory|
被這使得它從物理文件中\StockPro\StockProFormUI\medicstores.sdf
一個新的副本,因此它們是不一樣的
顯示您的連接字符串。幾乎每一次,這個問題都是因爲你連接到你的.sdf文件的兩個不同的副本。 – 2012-07-18 22:56:23
但是當我關閉Winform應用程序並重新運行時,更新變得可見。如果查詢窗口首先打開,數據庫文件被鎖定,所以應用程序不會運行。這表明他們正在訪問相同的文件 – codingbiz 2012-07-18 23:10:29
我認爲這可能是由於應用程序複製數據庫文件將其複製到'\ StockPro \ StockProFormUI \ bin \ Debug \ medicstores.sdf'而不是使用'\ StockPro \ StockProFormUI \ medicstores。 sdf' – codingbiz 2012-07-18 23:45:16