0

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

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

我似乎找不到任何关于如何使它成为在构建之间数据将保留在数据库中的相对路径的信息。

4

1 回答 1

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 个不同的数据库:

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

于 2012-10-24T21:34:46.977 回答