我的 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/