以编程方式检索VB.NET中的完整数据目录路径

时间:2017-05-02 12:13:42

标签: wpf vb.net sql-server-ce-4

我正在使用VB.NET / WPF应用程序,该应用程序将使用SQL Compact Edition个数据库。

应用程序应该允许用户保存和加载不同版本的数据库。

为此,我的目的是建立一个标准数据库名称(例如myDatabase.sdf),该名称将保存在DataDirectory中。

然后用户可以选择保存当前数据的版本(称之为他们想要的东西,例如savedDatabase1.sdf),然后应用程序将从DataDirectory获取数据库的副本并将其保存到另一个位置(例如SavedDatabase folder created in the Windows app data area) 并且要加载不同版本的数据库,应用程序可以从SavedDatabase文件夹复制数据库并覆盖DataDirectory位置中的数据库。

我可以看到覆盖数据目录位置的解决方案,但我找不到任何允许您检索当前数据目录文件夹路径的代码,因此可以在任何文件复制活动中使用它,如上所述上述

所以我的问题是 - 如何以编程方式检索当前用作数据目录的完整路径?

1 个答案:

答案 0 :(得分:0)

您可以将所有数据保存在与应用程序相同的文件夹中:

System.AppDomain.CurrentDomain.BaseDirectory

但是,如果您不确定是否可以访问该文件夹,则可以随时写入为此而生成的应用程序数据:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

然后,在此位置,您可以创建自己的应用程序目录,然后创建子目录。

简单的例子是:

Dim DataPath as String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "/MyApplication/Data/"
connectionString="Data source=|" & DataPath &"myDatabase.sdf;"