我正在编写一个程序,要求用户在应用程序启动时选择活动数据库。我有一个Windows窗体,它将列出存储在专门用于存储数据库文件的子文件夹ApplicationData中的数据库。然而,当我创建一个新的数据库时,我需要复制模板数据库,但无法确定它默认存储的位置。如何读取| DataDirectory |从配置设置
我已经试过:
dpath = ConfigurationManager.AppSettings["DataDirectory"];
我似乎总是得到的回报一个空值虽然。有一次,我放弃了,并认为我可以将DataDirectory设置为我选择的文件夹,但似乎我在执行我的程序时太迟了,以使其生效。
newdpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\MyAppFolder";
我将不胜感激如何可以找到数据库的位置有任何建议,或将其设为自己及早到影响程序运行。
编辑:
对于第二部分中,我发现,我试图修改TableAdapter.Fill命令后连接字符串已经被执行,从而解释了为什么它被打开默认数据库。那个谜已经解决了。然而,第一部分仍然是一个未知数。
谢谢。
非常感谢您的澄清。我知道ApplicationData目录是什么,现在我明白了我对你答案中的第一个和第三个文件夹感到困惑。 –
@ Dour-High_Arch我试图将第三个文件夹作为字符串进行检索,但我一直收到一个空值。这将在VisualStudio调试器的上下文中进行。我尝试了以下方法: string defaultpath = AppDomain.CurrentDomain.GetData(“DataDirectory”)。ToString(); 但没有运气。建议? –
@PAUL,嗯......我也从调试器中获得DataDirectory null。试试'AppDomain.CurrentDomain.BaseDirectory'。对不起,不知道DataDirectory和BaseDirectory之间的区别。 –