使用数据源确定本地SQL Server CE数据库的路径

时间:2012-10-24 21:24:13

标签: c# .net sql-server-ce

我使用MSDN网站上的这些说明here设置了数据库。其中包括首先创建数据库,然后将其添加到项目中。

然后在打开数据库的数据源中,我使用了类似“Data Source = | Applicatoin Data | + filename.sdf”之类的东西,但是当使用它时,我会启动应用程序然后加载一些数据到它然后我无法看到我在项目之外创建的本地数据库中的数据(正如我链接到的教程中所解释的那样)只有当我硬编码到我第一次创建数据库时创建的.sdf文件时才会有效。

我似乎无法找到任何有关如何使其成为相对路径的信息,在这种路径中,数据将保留在数据库中。

1 个答案:

答案 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

记得使用2个不同的dbs:

一个用于测试 一个没有数据的发布应用程序