2

我在具有数据库的 Visual Studio 2010 上创建了一个 Visual C# 应用程序。路径是@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdf;Integrated Security=True;User Instance=True"

但是每次我想在不同的 PC 上运行应用程序时,我都必须更改路径 from E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdftoC:\Folder1\Scholarships\Scholarships\Database1.mdf或其他东西

有没有办法将路径更改为本地路径或其他东西,这样我每次在不同的 PC 上运行应用程序时都不必更改它?

4

2 回答 2

2

在 app.config的 appsettings 中配置 db 文件的路径。

于 2013-07-12T13:49:20.027 回答
2

使用 DataDirectory 替换字符串

@"Data Source=.\SQLEXPRESS;" + 
"AttachDbFilename=|DataDirectory|\MyAppDataFolder\Database1.mdf;" +
"Integrated Security=True;User Instance=True"

数据目录在哪里

|数据目录| (括在管道符号中)是指示数据库路径的替换字符串。它消除了对导致几个问题的完整路径进行硬编码的需要,因为数据库的完整路径可以在不同的位置进行序列化。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

于 2013-07-12T13:50:50.423 回答