我正在使用VB.NET / WPF
应用程序,该应用程序将使用SQL Compact Edition
个数据库。
应用程序应该允许用户保存和加载不同版本的数据库。
为此,我的目的是建立一个标准数据库名称(例如myDatabase.sdf),该名称将保存在DataDirectory
中。
然后用户可以选择保存当前数据的版本(称之为他们想要的东西,例如savedDatabase1.sdf),然后应用程序将从DataDirectory
获取数据库的副本并将其保存到另一个位置(例如SavedDatabase folder created in the Windows app data area
)
并且要加载不同版本的数据库,应用程序可以从SavedDatabase文件夹复制数据库并覆盖DataDirectory
位置中的数据库。
我可以看到覆盖数据目录位置的解决方案,但我找不到任何允许您检索当前数据目录文件夹路径的代码,因此可以在任何文件复制活动中使用它,如上所述上述
所以我的问题是 - 如何以编程方式检索当前用作数据目录的完整路径?
答案 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;"