将数据库附加到我的项目

时间:2012-08-19 16:52:08

标签: c# sql database connection-string

在我的C#程序中,我遇到了一个大问题:

我将一个名为“Behgozin_DB”的SQL服务器数据库添加到我的项目中。我执行以下步骤来添加数据库:

  1. 在我的SQL服务器管理工​​作室中,我分离了我的数据库
  2. 在我的Visual Studio数据菜单中,我添加了新的数据源
  3. 我的连接字符串是:
  4.   

    Data Source =(local); AttachDbFilename = | DataDirectory | \ DB_Behgozin.mdf; Integrated Security = True

    一切正常但是当我在关闭应用程序后向我的数据库插入内容时,我看不到任何数据。但是,当我在visual studio服务器资源管理器菜单中右键单击我的表并选择show table data时,我的应用程序完全读取整个数据表!

    另一个问题是在使用此应用程序后,即使它无法在表中读取自己的数据。

    它是Visual Studio 2010 SQL Server 2008中的一个C#项目。

1 个答案:

答案 0 :(得分:1)

您的数据库文件有2个副本。一个在你的项目中,另一个在bin\debug。在设计时,您可以编辑项目中的那个。每次项目更改并构建它时,项目数据库文件都会覆盖bin \ debug中的文件,而这个文件是在运行时更新的。

为了解决这个问题,你有三个选择:

  1. 仅使用bin \ debug中的文件。将项目数据库文件复制选项设置为“从不”(在属性窗口中),显示项目的所有文件,并将bin \ debug数据库文件添加到服务器资源管理器。警告:如果您意外删除了bin \ debug文件夹,则所有更改都将消失。更改数据库文件时,请将数据库文件从bin \ debug手动复制到项目文件夹中。

  2. 将文件放在sql server文件夹中,而不是放在项目中。部署时,更改连接字符串并从服务器复制数据库。

  3. 替换“| DataDirectory |”宏与项目数据库文件的绝对路径。部署时,只需将其更改回“| DataDirectory |”