如何:管理项目中的本地数据文件

本地数据库文件可以作为一个文件包含在项目中。 首次将您的应用程序连接到本地数据库文件时,可以选择在您的项目中创建数据库的一个副本,或者连接到其当前位置中的现有数据库文件。 如果选择连接到现有文件,则会创建一个连接,就如同正连接到任何远程数据库一样,并且该数据库文件保留在其原始位置。 如果选择将数据库复制到项目中,Visual Studio 将创建数据库文件的一个副本,将它添加到项目中,并修改连接以使它现在指向项目中的数据库而不是指向数据库文件的原始位置。

备注

“服务器资源管理器/数据库资源管理器”中的现有数据连接也会修改为指向项目中的数据库文件(项目的根文件夹中的数据库文件)。

生成项目时,可以将数据库文件从根项目文件夹中复制到输出(“bin”)文件夹中。(在**“解决方案资源管理器”中选择“显示所有文件”,可查看该“bin”文件夹。)此行为基于该文件的“复制到输出目录”**属性的设置。 该属性的默认设置取决于您所用数据库文件的类型。

备注

“复制到输出目录”属性的行为不会应用到 Web 或 C++ 项目。

在应用程序开发过程中,对数据所做的任何更改(在运行时过程中在应用程序内部进行的)都将反映到**“bin”文件夹中的数据库。 例如,当您按“F5”调试您的应用程序时,您将连接到“bin”文件夹中的数据库。 项目根文件夹中的数据库文件仅在您使用“服务器资源管理器”“数据库资源管理器”**或其他 Visual Database Tools 编辑数据库架构或数据时才会更改。

下表描述 复制到输出目录 属性的设置。

设置

行为

如果较新则复制(.sdf 文件的默认值)

首次生成项目时将数据库文件从项目目录复制到“bin”目录。 随后每次生成项目时,将比较文件的“修改日期”属性。 如果项目文件夹中的文件较新,则将其复制到“bin”文件夹,替换当前此处的文件。 如果“bin”文件夹中的文件较新,则不复制文件。 此设置保持在运行时对数据所做的任何更改,这意味着每次运行应用程序并保存对数据的更改时,这些更改在下次运行应用程序时是可见的。

警告

我们对于 .mdb 或 .mdf 文件,不建议使用此选项。即使未对数据进行任何更改,数据库文件也可能更改。只须打开数据文件上的连接(例如,通过展开在“服务器资源管理器”)内的“表”节点),即可将其标记为较新的文件。

始终复制(.mdf 和 .mdb 文件的默认值)

每次生成应用程序时,数据库文件就从项目目录复制到“/bin”目录。 因此,如果生成应用程序并保存对 /bin目录文件的更改,则在将原始文件复制到 /bin 目录时会覆盖这些更改。

不复制

项目系统从不复制或覆盖文件。 如果要使用此设置,则必须把文件从项目目录手动复制到输出目录中。

过程

响应“本地数据库文件”对话框

  • 如果希望 Visual Studio 将数据库文件复制到项目中并修改连接以指向项目中的副本,请单击**“是”**。 有关使用项目中的数据库文件的更多信息,请参见 本地数据概述

  • 如果不希望 Visual Studio 将数据库文件复制到项目中,请单击**“否”**。 相反,连接将指向原始位置中的文件,并且未以文件形式将数据库文件添加到项目中。

请参见

任务

演练:连接到本地数据库文件中的数据(Windows 窗体)

演练:连接到 Access 数据库中的数据(Windows 窗体)