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

C# Visual C创建数据库路径,使其在不同的PC上运行,c#,database,path,local,C#,Database,Path,Local,我在VisualStudio2010上创建了一个具有数据库的Visual C应用程序。路径为@Data Source=。\SQLEXPRESS;AttachDbFilename=E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdf;综合安全=真实;用户实例=True 但每次我想在不同的PC上运行应用程序时,我都必须将路径从E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1

我在VisualStudio2010上创建了一个具有数据库的Visual C应用程序。路径为@Data Source=。\SQLEXPRESS;AttachDbFilename=E:\Sch\AAAA\Project\Scholarships\Scholarships\Database1.mdf;综合安全=真实;用户实例=True

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


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

在中配置db文件的路径。

在中配置db文件的路径。

使用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使用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

之前的\database1.mdf是否添加任何其他路径?或者就像你发布的一样?通常正确的文件夹是CommonApplicationFolder的子文件夹。添加了一个示例我在关于commonFolder的代码中得到了很多错误,例如无效的令牌是抱歉,复制,粘贴,删除了AppDomain.CurrentDomain中的伪令牌我得到了这个错误错误类中的无效令牌,struct,或接口成员声明E:\∑χολή\tεχνολογία∧∧ογ∑μικογ∑α∑α\奖学金\表格3.cs 17 40奖学金之前\数据库1.mdf是否添加任何其他路径?或者就像你发布的一样?通常正确的文件夹是CommonApplicationFolder的子文件夹。添加了一个示例我在关于commonFolder的代码中得到了很多错误,例如无效的令牌是抱歉,复制,粘贴,删除了AppDomain.CurrentDomain中的伪令牌我得到了这个错误错误类中的无效令牌,struct,或接口成员声明E:\∑χολή\tεχνολογία∧∧ογι∑μικογ∑α∑α\奖学金\表格3.cs 17 40奖学金