连接到 .NET Framework 应用程序中的 Access 数据库

注释

此类 DataSet 和相关类是 2000 年代初的旧版 .NET Framework 技术,使应用程序能够在应用与数据库断开连接时处理内存中的数据。 这些技术对于使用户能够修改数据并将更改保留回数据库的应用特别有用。 尽管数据集是经过证实的成功技术,但新 .NET 应用程序的建议方法是使用 Entity Framework Core。 Entity Framework 提供了一种更自然的方式来将表格数据用作对象模型,并且具有更简单的编程接口。

可以使用 Visual Studio 连接到 Access 数据库( .mdb 文件或 .accdb 文件)。 定义连接后,数据将显示在 “数据源 ”窗口中。 在此处,可以将表或视图拖到设计图面上。

注释

如果使用 Visual Studio 连接到 Access 数据库,请注意 Visual Studio 2022 之前的 Visual Studio 版本都是 32 位进程。 这意味着 Visual Studio 2019 及更早版本中的一些数据工具只能使用 32 位数据提供程序连接到 Access 数据库。

如果使用 Visual Studio 2022 连接到 Access 数据库,请注意,Visual Studio 2022 现在是一个 64 位进程。 这意味着 Visual Studio 中的某些数据工具无法使用 32 位数据提供程序连接到 Access 数据库。

如果需要维护连接到 Access 数据库的 32 位应用程序,仍可使用 Visual Studio 2022 生成和运行该应用程序。 但是,如果需要使用任何 Visual Studio Data Tools(如服务器资源管理器、数据源向导或数据集设计器),则需要使用仍处于 32 位进程的早期版本的 Visual Studio。 作为 32 位进程的 Visual Studio 的最后一个版本是 Visual Studio 2019。

如果计划将项目转换为 64 位进程,建议使用 64 位 Microsoft Access 数据库引擎(也称为 Access 连接引擎(ACE)。 请参阅 OLE DB Provider for Jet 和 ODBC 驱动程序仅支持 32 位版本

先决条件

若要使用这些过程,需要:

  • Visual Studio
  • Windows 窗体或 Windows Presentation Foundation (WPF) 项目
  • Access 数据库(.accdb 文件)或 Access 2000-2003 数据库(.mdb 文件)。 请按照与文件类型对应的步骤进行操作。

为 .accdb 文件创建数据集

使用以下过程连接到使用 Microsoft 365、Access 2016、Access 2013、Access 2010 或 Access 2007 创建的数据库。

  1. 在 Visual Studio 中打开 Windows 窗体或 WPF 应用程序项目。

  2. 若要打开 “数据源 ”窗口,请按 Ctrl+Q,在搜索框中输入“data”,然后选择 “数据源 ”窗口。 或在 “视图 ”菜单上,选择 “其他 Windows>数据源”。 或在键盘上,按 Shift+Alt+D

    搜索框中数据源的屏幕截图

  3. “数据源 ”窗口中,单击“ 添加新数据源”。

    此时会打开 数据源配置向导

    显示数据源配置向导的屏幕截图

  4. 在“选择数据源类型”页上选择“数据库”,然后选择“下一步”。

  5. 在“选择数据库模型”页上选择“数据集”,然后选择“下一步”。

    “选择数据库模型”页的屏幕截图

  6. 在“ 选择数据连接 ”页上,选择“ 新建连接 ”以配置新的数据连接。

    “选择数据连接”页的屏幕截图

    此时会打开 “添加连接 ”对话框。

    “添加连接”对话框的屏幕截图

  7. 如果未将 数据源 设置为 Microsoft Access 数据库文件,请选择 “更改 ”按钮。

    此时将打开 “更改数据源 ”对话框。 在数据源列表中,选择 Microsoft Access 数据库文件。 已预先选择 适用于 OLE DB 的 .NET Framework 数据提供程序 选项。 选择“确定”

    “选择数据源”对话框的屏幕截图

  8. 选择数据库文件名旁边的“浏览”,然后导航到文件.accdb,然后选择“打开”。

    注释

    如果 Microsoft Office 和 Visual Studio 的位数(32 位或 64 位)不匹配,连接 Access 数据库时会出现错误。 在 Visual Studio 2019 中,出现数据库提供程序未注册的错误。 在 Visual Studio 2022 中,你会看到无法连接到 32 位数据提供程序的错误。 若要解决此错误,请确保使用的是 32 位版本的 Office,则使用的是 Visual Studio 2019 或更早版本;对于 64 位版本的 Office,需要 Visual Studio 2022 或更高版本。

  9. 输入用户名和密码(如有必要),然后选择 “确定”。

  10. 在“选择数据连接”页上选择“下一步”。

    你可能会收到一个对话框,告知数据文件不在当前项目中。 选择“是”或“否”

  11. 在“将连接字符串保存到应用程序配置文件”页上选择“下一步”。

    页面的屏幕截图

  12. 在“选择数据库对象”页面上展开“表”节点

    “选择数据库对象”页的屏幕截图

  13. 选择要包含在数据集中的表或视图,然后选择“ 完成”。

    数据集将添加到项目中,表和视图将显示在 “数据源 ”窗口中。

    数据源窗口的屏幕截图,其中填充了数据库对象

  14. 在具有 64 位 Access 数据库引擎的 64 位计算机上,需要确保应用程序作为 64 位应用程序运行。 打开项目属性(按 Alt+Enter 或右键单击项目节点,然后选择 “属性”)。 在 C# 的 “生成 ”选项卡或 Visual Basic 的 “编译 ”选项卡中,清除 “首选 32 位 ”复选框。

连接字符串存储在 app.config中,并存储在解决方案资源管理器中的“属性”下的 Settings.settings 文件中。

为 .accdb 文件创建数据集

使用以下过程连接到使用 Microsoft 365、Access 2016、Access 2013、Access 2010 或 Access 2007 创建的数据库。

  1. 在 Visual Studio 中打开 Windows 窗体或 WPF 应用程序项目。

  2. 若要打开 “数据源 ”窗口,请按 Ctrl+Q,在搜索框中输入“data”,然后选择 “数据源 ”窗口。 或在 “视图 ”菜单上,选择 “其他 Windows>数据源”。 或在键盘上,按 Shift+Alt+D

    查看其他 Windows 数据源

  3. “数据源 ”窗口中,单击“ 添加新数据源”。

    此时会打开 数据源配置向导

  4. 在“选择数据源类型”页上选择“数据库”,然后选择“下一步”。

  5. 在“选择数据库模型”页上选择“数据集”,然后选择“下一步”。

    “选择数据库模型”页的屏幕截图

  6. 在“ 选择数据连接 ”页上,选择“ 新建连接 ”以配置新的数据连接。

    “选择数据连接”页的屏幕截图

    此时会打开 “添加连接 ”对话框。

    “添加连接”对话框的屏幕截图

  7. 如果未将 数据源 设置为 Microsoft Access 数据库文件,请选择 “更改 ”按钮。

    此时将打开 “更改数据源 ”对话框。 在数据源列表中,选择 Microsoft Access 数据库文件。 已预先选择 适用于 OLE DB 的 .NET Framework 数据提供程序 选项。 选择“确定”

    “选择数据源”对话框的屏幕截图

  8. 选择数据库文件名旁边的“浏览”,然后导航到文件.accdb,然后选择“打开”。

    注释

    如果 Microsoft Office 和 Visual Studio 的位数(32 位或 64 位)不匹配,连接 Access 数据库时会出现错误。 在 Visual Studio 2019 中,出现数据库提供程序未注册的错误。 在 Visual Studio 2022 中,你会看到无法连接到 32 位数据提供程序的错误。 若要解决此错误,请确保使用的是 32 位版本的 Office,则使用的是 Visual Studio 2019 或更早版本;对于 64 位版本的 Office,需要 Visual Studio 2022 或更高版本。

  9. 输入用户名和密码(如有必要),然后选择 “确定”。

  10. 在“选择数据连接”页上选择“下一步”。

    你可能会收到一个对话框,告知数据文件不在当前项目中。 选择“是”或“否”

  11. 在“将连接字符串保存到应用程序配置文件”页上选择“下一步”。

    页面的屏幕截图

  12. 在“选择数据库对象”页面上展开“表”节点

  13. 选择要包含在数据集中的表或视图,然后选择“ 完成”。

    数据集将添加到项目中,表和视图将显示在 “数据源 ”窗口中。

为.mdb文件创建数据集

使用以下过程连接到使用 Access 2000-2003 创建的数据库。

  1. 在 Visual Studio 中打开 Windows 窗体或 WPF 应用程序项目。

  2. “视图 ”菜单上,选择 “其他 Windows>数据源”。

  3. “数据源 ”窗口中,单击“ 添加新数据源”。

    此时会打开 数据源配置向导

  4. 在“选择数据源类型”页上选择“数据库”,然后选择“下一步”。

  5. 在“选择数据库模型”页上选择“数据集”,然后选择“下一步”。

  6. 在“ 选择数据连接 ”页上,选择“ 新建连接 ”以配置新的数据连接。

  7. 如果数据源不是 Microsoft Access 数据库文件(OLE DB),请选择“更改”以打开“更改数据源”对话框,然后选择“Microsoft Access 数据库文件”,最后选择“确定”

  8. 数据库文件名中,指定要连接到的文件的路径和名称 .mdb ,然后选择“ 确定”。

    添加连接访问数据库文件

  9. 在“选择数据连接”页上选择“下一步”。

  10. 在“将连接字符串保存到应用程序配置文件”页上选择“下一步”。

  11. 在“选择数据库对象”页面上展开“表”节点

  12. 选择数据集中所需的任何表或视图,然后选择“ 完成”。

    数据集将添加到项目中,表和视图将显示在 “数据源 ”窗口中。

查看生成的代码

数据工具配置为在表单设计器中执行某些作时自动生成大量代码。 例如,将表拖放到窗体上时,会添加一个 DataGridView,并创建代码来将数据与控件挂钩。 可以在文件中查看此代码 *.Designer.cs 。 生成的代码可能因 Visual Studio 版本而异。

祝贺! 借助 Visual Studio 的帮助,你已为 Access 数据表创建了基于表单的编辑体验。

后续步骤

创建的数据集可在 “数据源 ”窗口中使用。 现在可以执行以下任一任务: