c# - 来自 WPF 的数据库连接

标签 c# wpf database

我的 WPF 应用程序中有一个文件夹“Data”,其中有一个 .sdf 数据库文件。 该文件是我的应用程序的数据库。

在开发我的应用程序时,我使用了数据库的固定路径,如下所示:

'Data Source=P:\Dropbox\Projects\MembersApp\MembersApp\bin\Debug\Data\RF_db.sdf'

现在我想使用 |DataDirectory|值,以便应用程序始终可以找到数据库,无论应用程序是否安装。我在 StackOverflow 上找到了这个解决方案:

string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path = (System.IO.Path.GetDirectoryName(executable));
AppDomain.CurrentDomain.SetData("DataDirectory", path);
string dataSourceHome = "Data Source=|DataDirectory|\RF_db.sdf";

但是在最后一行“错误的编译常量值”上给了我一个错误。我尝试过:

string dataSourceHome = @"Data Source=|DataDirectory|\RF_db.sdf";

但这行不通。

知道这里出了什么问题吗?

最佳答案

请勿更改DataDirectory在你的代码中;它由安装程序设置,更改它会阻止您的应用程序知道数据的安装位置。只需使用:

string dataSourceHome = @"Data Source=|DataDirectory|\RF_db.sdf";

除此之外什么也没有。请勿调用AppDomain.CurrentDomain.SetData("DataDirectory", path) ;这就是破坏事物的原因。

关于c# - 来自 WPF 的数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085831/

相关文章:

java - WSDL Web 服务从数据库返回旧数据,即使我已经更新了数据库

c# - 多个 UI 线程 - Winforms

c# - 绑定(bind)自定义属性类 WPF

c# - 使用 LiNQ 加载嵌套的 XML

android - 如何在 Android 上使用 DataBinding 测试 MVVM

WPF菜单打开方向

php - 对于依赖时间的大型数据集,命名表 september_2010 是否可接受且有效?

javascript - 在 PostgreSQL 中 COPY/INSERT ON CASCADE 的最佳方法是什么?

c# - 下拉列表的问题

c# - MVC 中的 session 管理