在Windows窗体应用程序中获取当前路径无法正常工作

时间:2015-08-31 06:52:23

标签: c# path localdb

我正在开发一个链接到本地​​数据库的应用程序,我想通过namically获得db d y 的路径。我不知道用户究竟会在哪里复制这个应用程序,所以我想自动获取数据库的路径。我写了下面的代码,它得到的路径,但不完全。我的意思是,如果我的应用程序位于:C:\Users\ROG\Desktop,则表示C:\Users\ROG中没有数据库。所以它没有得到它的最后位置。为什么这样以及如何解决它?

我按照以下方式连接到它:

var connString = (@"Data Source=" + 
                  Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + 
                  @"\Angajati.sdf");

3 个答案:

答案 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");