Visual C#创建数据库路径,使其在不同的PC上运行

时间:2013-07-12 13:47:02

标签: c# database path local

我在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上运行应用程序时都不需要更改它?

2 个答案:

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

Where is DataDirectory

  

| 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