演练:创建简单的数据应用程序
在应用程序开发中最常用的方案之一是在 Windows 窗体上显示数据库中的数据。 通过将项从“数据源”窗口拖动到窗体上,可以在 Windows 应用程序中的窗体上显示数据。 本演练演示如何创建显示数据库中两个相关表的数据的应用程序。
有关使用 WPF 创建数据应用程序的信息,请参见在 Visual Studio 中将 WPF 控件绑定到数据。
有关使用 Silverlight 创建数据应用程序的信息,请参见在 Visual Studio 中将 Silverlight 控件绑定到数据。
本演练阐释了以下任务:
创建基于 Windows 的应用程序
使用数据源配置向导创建并配置基于 Northwind 数据库中的 Customers 和 Orders 表的数据集。
添加控件以显示 Customers 的数据。
添加控件以基于所选客户显示订单。
通过选择不同的客户并验证是否能正确显示所选客户的订单来测试应用程序。
修改数据并将其保存回数据库。
有关本主题的视频版本,请参见 Video How to: Creating a Simple Data Application(视频帮助:创建简单的数据应用程序)。
系统必备
您需要以下组件来完成本演练:
- 能够访问 Northwind 示例数据库。 有关更多信息,请参见如何:安装示例数据库。
创建项目
第一步是创建一个基于 Windows 的应用程序。
提示
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 您安装的 Visual Studio 版本以及使用的设置决定了这些元素。 有关更多信息,请参见 使用设置。
创建项目
从**“文件”**菜单创建一个新的项目。
选择**“Windows 应用程序”**并将其命名为 DataWalkthrough。 有关更多信息,请参见创建基于 Windows 的应用程序。
单击**“确定”**。
**“DataWalkthrough”项目即被创建并添加到“解决方案资源管理器”**中。
创建数据源
此步骤使用**“数据源配置向导”**创建基于 Northwind 示例数据库中的 Customers 和 Orders 表的数据集。
创建数据源
在**“数据”菜单上,单击“显示数据源”**。
在**“数据源”窗口中,单击工具栏中的“添加新数据源”按钮以启动“数据源配置向导”**。
在**“选择数据源类型”页上选择“数据库”,然后单击“下一步”**。
在**“选择您的数据连接”**页面上执行下列操作之一:
如果下拉列表中包含到 Northwind 示例数据库的数据连接,请选择该连接。
- 或 -
选择**“新建连接”,以启动“添加/修改连接”**对话框。 有关更多信息,请参见 “添加/修改连接”对话框(通用)。
如果数据库需要密码,请选择该选项以包括敏感数据,再单击**“下一步”**。
在**“将连接字符串保存到应用程序配置文件中”页上单击“下一步”**。
在**“选择数据库对象”页面上展开“表”**节点。
选择**“Customers”和“Orders”表,然后单击“完成”**。
**“NorthwindDataSet”被添加到您的项目中,并且在“数据源”窗口中出现“Customers”和“Orders”**表。
创建控件以显示 Customers 表中的数据
通过将项从**“数据源”**窗口拖到 Windows 窗体来创建数据绑定控件。
创建控件以显示客户数据(父记录)
在**“数据源”窗口中,选择“Customers”**表,然后单击下拉箭头。
从**“Customer”表的控件列表中选择“Details”**。
将主**“Customers”节点从“数据源”**窗口拖到“Form1”上。
该窗体上将显示带有说明性标签的数据绑定控件。 组件栏中显示下列组件:
NorthwindDataSet。 包含 Customers 和 Orders 表的类型化数据集。
CustomersBindingSource。 将窗体上的控件绑定到 NorthwindDataSet 中的 Customers 数据表的 BindingSource。
CustomersBindingNavigator。 用于遍历 Customers 表中的记录的 BindingNavigator。
CustomersTableAdapter。 在数据库和 NorthwindDataSet 之间通信的 TableAdapter。 有关更多信息,请参见 TableAdapter 概述。
TableAdapterManager。 用于控制数据集中所有 TableAdapter 组件的 Insert、Update 和 Delete 的顺序的 TableAdapterManager。 有关更多信息,请参见 TableAdapterManager 概述。
创建控件以显示 Orders 表中的数据
创建控件以显示每个客户的订单(子记录)
在**“数据源”窗口中,展开“Customers”节点并选择“Customers”表中的最后一列(为“Fax”列下方的可展开的“Orders”节点),然后将其拖到“Form1”的底部。 (“Customers”表层次结构中的此节点表示客户的相关订单,这与主“Orders”**节点相反,后者表示 Orders 表中的所有订单,而不是单个客户的订单。)
一个 DataGridView 被添加到窗体,且一个新的 BindingSource 组件(“OrdersBindingSource”)和 TableAdapter(“OrdersTableAdapter”)被添加到组件栏。
提示
打开“属性”窗口并选择“OrdersBindingSource”组件。 检查 DataSource 和 DataMember 属性以查看数据绑定是如何配置以显示相关记录的。 DataSource 设置为“CustomersBindingSource”(父表的 BindingSource),与 Orders 表恰好相反。 DataMember 属性设置为“FK_Orders_Customers”,它是将各表关联在一起的 DataRelation 对象的名称。
测试应用程序
测试应用程序
按 F5。
选择不同的客户以验证窗体上的网格中显示的订单是否正确。
修改一个或多个记录。
单击**“保存”**按钮(磁盘图标)。
验证是否已将更改保存到数据库中。
后续步骤
根据应用程序的要求,在创建了主/详细信息窗体后,还需要执行一些步骤。 您可以通过以下操作来增强此演练的效果:
使用 TableAdapter 向导对将数据加载到应用程序的查询进行编辑。 有关更多信息,请参见如何:编辑 TableAdapter 查询和如何:编辑 TableAdapter。
添加验证以在将更改发送到数据库前验证是否输入了正确的数据。 有关更多信息,请参见验证数据。
请参见
概念
在 Visual Studio 中将 Windows 窗体控件绑定到数据