我在Visual Studio 2010上创建了一个具有数据库的Visual C#应用程序。路径为@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdf;Integrated Security=True;User Instance=True"
但每次我想在不同的PC上运行该应用程序时,我都必须将路径从E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdf
更改为C:\Folder1\Scholarships\Scholarships\Database1.mdf
或其他
有没有办法改变本地路径的路径,以便每次在不同的PC上运行应用程序时都不需要更改它?
答案 0 :(得分:2)
使appsettings in your app.config中的db文件路径可配置。
答案 1 :(得分:2)
使用DataDirectory替换字符串
@"Data Source=.\SQLEXPRESS;" +
"AttachDbFilename=|DataDirectory|\MyAppDataFolder\Database1.mdf;" +
"Integrated Security=True;User Instance=True"
| DataDirectory目录| (用管道符号括起来)是替换字符串 表示数据库的路径。它消除了对它的需要 对完整路径进行硬编码会导致几个问题 数据库的路径可以在不同的地方序列化。 DataDirectory还可以轻松共享项目并进行部署 申请。
通过这种方式,您可以从应用程序内部轻松管理数据库的位置。
您可以使用此命令更改DataDirectory
指向的实际目录(在执行任何数据访问代码之前)
string commonFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
string myAppFolder = Path.Combine(commonFolder, "MyAppDataFolder");
AppDomain.CurrentDomain.SetData("DataDirectory", myAppFolder);
这将解析(在Win7上)C:\programdata\myappdatafolder\database1.mdf