设置本地文件夹中的db mdf文件的路径

设置本地文件夹中的db mdf文件的路径

问题描述:

怎么来我在我的数据库上下文中插入的路径不起作用?下面是我的路径设置本地文件夹中的db mdf文件的路径

private string dbPath = @"TEST.MDF" 
DataClasses1DataContext myDbContext = new DataClasses1DataContext(dbPath); 

代码但是当我运行一个查询这给了我一个错误

尝试附加文件TEST.MDF自动命名的数据库失败。一个名称相同的数据库存在,或者指定的文件不能被打开, 或它位于UNC共享上。

,这是我的文件夹怎么看起来像这样

enter image description here

MDF文件是在我的CS源代码的同一位置,但事情是他们不能正确读取路径。

我的想法是,当我转移到不同的PC时,我不必一次又一次地设置路径。有没有解决这个问题?

+1

它与您的'* .cs'文件位于同一位置 - 但是您的**可执行文件**在此目录中不是**!当你建立和运行时,你的可执行文件很可能建在'bin \ debug'中 - 并且在那个目录中,没有'test.mdf'文件....... – 2012-02-24 05:31:39

+0

soo我必须使用? /../../Test.MDF? – user962206 2012-02-24 05:36:04

+0

否 - 您应该**将您的MDF文件附加到您计算机上的SQL Server实例上,并为其指定一个**逻辑名称**并使用该逻辑名称连接到它,而不是使用.MDF文件及其位置..... – 2012-02-24 05:37:36

什么

private string dbPath = Application.StartupPath + "\\TEST.MDF"; 

但你Test.mdf是不是在正确的目录。将其移入\bin\Debug以使此代码可以正常工作。

+0

Application.StartUpPath是做什么的? – user962206 2012-02-24 05:24:53

+1

它返回您的可执行文件的文件夹位置。所以说你的.EXE是在“C:\ Programming \ Projects \ C#\ testProject1 \ bin \ Debug”中。这是它返回的路径。我们必须添加“\\ Test.mdf”的原因是将文件名添加到该路径,以便完整路径如下所示: C:\ Programming \ Projects \ C#\ testProject1 \ bin \ Debug \ Test。 mdf – Jason 2012-02-24 05:26:56

+0

谢谢:)干杯。 – user962206 2012-02-24 05:32:53

更好的是在您的项目中添加.mdf文件。添加现有项目=>从文件夹中选择.mdf文件。在项目中添加.mdf文件后,将在Web.config或App.Config文件中自动生成连接字符串,并且可以使用该连接字符串来启动商店。现在,当您构建项目新的.mdf文件时,请将其复制到/ bin/dubug文件夹中,并且不需要编写单行代码来连接.mdf文件。