我正在开发一个链接到本地数据库的应用程序,我想通过namically获得db d y 的路径。我不知道用户究竟会在哪里复制这个应用程序,所以我想自动获取数据库的路径。我写了下面的代码,它得到的路径,但不完全。我的意思是,如果我的应用程序位于:C:\Users\ROG\Desktop
,则表示C:\Users\ROG
中没有数据库。所以它没有得到它的最后位置。为什么这样以及如何解决它?
我按照以下方式连接到它:
var connString = (@"Data Source=" +
Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName +
@"\Angajati.sdf");
答案 0 :(得分:2)
尝试使用以下代码
var connString = (@"Data Source=" +
System.IO.Path.Combine(System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().Location),
"Angajati.sdf"));
答案 1 :(得分:2)
我建议使用Application Path,而不是使用get current目录。那是因为如果使用OpenFileDialog
,当前目录会更改,但applicationPath是相同的。
System.Reflection.Assembly.GetExecutingAssembly().Location
我希望它会有所帮助。
答案 2 :(得分:2)
考虑使用以下代码确定应用程序基目录:
AppDomain.CurrentDomain.BaseDirectory
完整代码如下所示:
var connString = "Data Source=" +
System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Angajati.sdf");