2012-10-24 19 views
0

我已經建立了使用從MSDN網站這些指令here數據庫的路徑,本地SQL Server CE數據庫。其中包括首先創建數據庫,然後將其添加到項目中。確定使用數據源

然後在打開數據庫的數據源中,我使用了類似「Data Source = | Applicatoin Data | + filename.sdf」的東西,但是當使用這個時,我會啓動應用程序,然後加載一些數據,我看不到在我的項目之外創建的本地數據庫中的數據(正如我鏈接到的教程中所解釋的那樣)只有在我硬編碼爲在第一次創建數據庫時創建的.sdf文件的情況下才有效。

我似乎無法找到如何使這個相對路徑,其中在構建數據會留在數據庫之間的任何信息。

+0

是一個clickone應用程序或WinForm的? – giammin

+0

@giammin它是一個Windows窗體應用程序 –

+0

請向我們展示您的代碼以打開數據庫。向我們展示「類似」代碼是沒有用的。 –

回答

1

當您生成解決方案時,您調試您使用該副本不是一個你的項目你的數據庫複製到bin目錄

這是設計。這是對的。

你應該做這樣的事情:

#if DEBUG 
    public static readonly string ConnectionString = 
     string.Format(@"Data Source=..\..\DbTest\{0}; password='{1}'", DbFileName, DbPassword); 
#else 
    public static readonly string ConnectionString = 
     string.Format(@"Data Source=|DataDirectory|\{0}; password='{1}'", DbFileName, DbPassword); 
#endif 

Remeber使用2個不同的DBS:

一個用於測試 一個版本的應用程序沒有數據

+0

是啊,我這麼認爲,但它不通過未來建設堅持,所以我失去了所有我把它付諸表決 –

+0

@TolgaE你應該處理連接字符串在我的例子 – giammin

+0

感謝的數據,它的工作,現在,它通過持續建立。因爲「DbTest」是另一個項目而不是我的可執行文件 –