创建数据应用程序

Visual Studio 提供许多设计时工具,可帮助您创建访问数据的应用程序。本文概述了创建数据处理应用程序所涉及的基本过程。此处的信息有意略过了许多细节,其设计目的是提供一个一般信息来源和起点,读者可借此访问与创建数据应用程序有关的很多其他帮助页。

在 Visual Studio 中开发数据访问应用程序时的要求不尽相同。在某些情况下,可能只是想在窗体上显示数据。而在另一些情况下,则可能需要设计出一种方法,以与其他应用程序或过程共享信息。

无论对数据做何处理,您都应该清楚一些基本概念。您可能从不需要了解数据处理的某些细节(例如,您可能从不需要以编程方式创建数据库),但是了解基本数据概念以及 Visual Studio 中提供的数据工具(向导和设计器)将非常有用。

一个典型的数据应用程序使用下图中所示的大部分过程:

数据循环

数据循环图

在您创建应用程序时,请考虑要完成什么样的任务。使用以下各节来帮助查找您可使用的 Visual Studio 工具和对象。

说明说明

Visual Studio 提供向导来简化多个进程显示在上图中。例如,运行“数据源配置向导”可为应用程序提供连接数据所需的足够信息,创建接收数据的类型化数据集,以及将数据引入应用程序。

若要快速查看 Visual Studio 如何帮助您开发数据应用程序,请参见演练:创建简单的数据应用程序

连接到数据

为了将数据引入应用程序(并将更改发回数据源),需要建立某种双向通信机制。这种双向通信通常由数据模型中的对象进行处理。

例如,TableAdapter 将使用数据集的应用程序连接到数据库,ObjectContext 将 Entity Framework 中的实体连接到数据库。Visual Studio 提供了多种工具来帮助创建应用程序可使用的连接。有关将应用程序连接到数据的更多信息,请参见 连接到 Visual Studio 中的数据

若要了解如何使用数据集将应用程序连接到数据库中的数据,请参见演练:连接到数据库中的数据(Windows 窗体)

有关通过概念模型连接到数据的信息,请参见实体框架快速入门

准备应用程序以接收数据

如果应用程序使用断开连接的数据模型,则在使用数据时需要临时将数据存储在应用程序中。Visual Studio 提供的工具可帮助您创建应用程序用于临时存储数据的对象:数据集、实体和 LINQ to SQL 对象。

说明说明

使用断开连接的数据模型的应用程序通常执行以下过程:连接到数据库、运行将数据引入应用程序的查询、断开与数据库的连接、脱机操作数据,然后重新连接并更新数据库。

有关在应用程序中创建类型化数据集的更多信息,请参见 准备应用程序以接收数据。有关在 n 层应用程序中使用数据集的附加信息,请参见如何:将数据集和 TableAdapter 分离到不同的项目中

若要了解如何创建数据集,请完成 演练:使用数据集设计器创建数据集 中的过程。

若要了解如何使用Entity Data Model Wizard从数据库生成实体的信息,请参见How to: Create a New .edmx File (Entity Data Model Tools)

若要了解如何创建 LINQ to SQL 对象,请完成Walkthrough: Creating LINQ to SQL Classes (O/R Designer)中的过程。

将数据获取到您的应用程序

无论应用程序是否使用断开连接的数据模型,您都需要将数据取入应用程序。通过对数据库执行查询或存储过程可将数据引入应用程序。将数据存储到数据集的应用程序使用 TableAdapter 执行查询和存储过程,而将数据存储到实体的应用程序使用 LINQ to Entities 或通过将实体直接连接到存储过程执行查询。有关创建和编辑使用 TableAdapter 的查询的更多信息,请参见如何:创建 TableAdapter 查询如何:编辑 TableAdapter 查询

有关将存储过程用于实体框架的信息,请参见How to: Map Modification Functions to Stored Procedures (Entity Data Model Tools)

有关将数据加载到数据集以及执行查询和存储过程的更多信息,请参见将数据获取到应用程序

若要了解如何将数据加载到数据集中,请完成 演练:在 Windows 窗体上显示数据 中的过程,并检查窗体加载事件处理程序中的代码。

若要了解如何将数据加载到 LINQ to SQL 对象中,请完成Walkthrough: Creating LINQ to SQL Classes (O/R Designer)中的过程。

若要了解如何创建和执行 SQL 查询,请参见 如何:创建和执行返回行的 SQL 语句

若要了解如何执行存储过程,请参见如何:执行返回行的存储过程

在窗体上显示数据

将数据引入应用程序后,您通常将数据显示在窗体上以供用户查看或修改。Visual Studio 提供了“数据源”窗口,您可在其中将项拖到窗体上,以自动创建显示数据的数据绑定控件。有关数据绑定和向用户显示数据的更多信息,请参见 在 Visual Studio 中将控件绑定到数据

若要了解如何向用户显示数据,请完成以下演练中的过程(特别注意从**“数据源”**窗口拖动项的过程):

在应用程序中编辑数据

向用户显示数据后,用户可能会通过添加新记录、编辑和删除记录等操作修改数据,然后将数据发回数据库。

有关数据在加载到数据集后的处理的更多信息,请参见 在应用程序中编辑数据

有关在实体框架应用程序中处理数据的更多信息,请参见Working with Objects (Entity Framework)

验证数据

更改数据时,您一般希望先检验一下所做的更改,然后决定是否允许在数据集中接受更改后的值,以及是否将更改后的值写入数据库。检验这些新值是否符合应用程序要求的过程称为“验证”。可以在应用程序中添加逻辑以便在值发生变化时检查这些值。Visual Studio 提供的工具可帮助您添加代码,以用于在列和行发生变化时验证数据。有关更多信息,请参见验证数据

若要了解如何在应用程序中添加数据验证功能,请参见 演练:向数据集添加验证

若要了解如何对分离到一个 n 层应用程序的数据集添加验证,请参见如何:向 N 层数据集添加验证

有关验证实体数据模型中的数据的更多信息,请参见How to: Execute Business Logic When Saving Changes (Entity Framework)

保存数据

在应用程序中做出并验证更改后,通常要将所做更改发回数据库。将数据存储到数据集的应用程序通常使用 TableAdapterManager 保存数据。有关更多信息,请参见TableAdapterManager 概述。实体框架应用程序使用 SaveChanges 方法保存数据。

有关将更新后的数据发回数据库的更多信息,请参见 保存数据

若要了解如何将更新的数据从数据集发送到数据库,请完成演练:保存相关数据表中的数据(分层更新)中的过程。

有关在实体框架应用程序中保存数据的更多信息,请参见Saving Changes and Managing Concurrency

相关主题