将数据库附加到我的项目
在我的C#程序中,我遇到了一个大问题:
我将一个名为“Behgozin_DB”的SQL服务器数据库添加到我的项目中。 我执行以下步骤来添加数据库:
- 在我的SQL服务器管理工作室中,我分离了我的数据库
- 在我从Visual菜单的visual studio中添加了新的数据源
- 我的连接字符串是:
数据源=(本地); AttachDbFilename = | DataDirectory | \ DB_Behgozin.mdf; Integrated Security = True
一切都很好但是当我关闭应用程序后在我的数据库中插入一些内容时,我看不到任何数据。 但是当我在visual studio服务器资源管理器菜单中右键单击我的表并选择show table data时,我的应用程序完全读取整个数据表!
另一个问题是在使用这个应用程序之后,即使它无法在表中读取自己的数据。
它是Visual Studio 2010 SQL Server 2008中的一个C#项目。
您的数据库文件有2个副本。 一个在你的项目中,另一个在bin\debug
。 在设计时,您可以编辑项目中的那个。 每次项目更改并构建它时,项目数据库文件都会覆盖bin \ debug中的文件,并且您在运行时更新此文件。
为了解决这个问题,您有三种选择:
-
仅使用bin \ debug中的文件。 将项目数据库文件复制选项设置为“从不”(在属性窗口中),显示项目的所有文件,并将bin \ debug数据库文件添加到服务器资源管理器。 警告:如果您意外删除了bin \ debug文件夹,则所有更改都将消失。 更改时,手动将数据库文件从bin \ debug复制到项目文件夹。
-
将文件放在sql server文件夹中,而不是放在项目中。 部署时,更改连接字符串并从服务器复制数据库。
-
替换“| DataDirectory |” 宏与项目数据库文件的绝对路径。 部署时,只需将其更改回“| DataDirectory |”