演练:创建带有多个查询的 TableAdapter
更新:2007 年 11 月
在本演练中,将使用数据源配置向导在数据集中创建一个 TableAdapter。本演练将指导您通过在“数据集设计器”中使用 TableAdapter 查询配置向导,从而在 TableAdapter 中创建第二个查询。
本演练演示如下任务:
创建新的“Windows 应用程序”项目。
通过使用“数据源配置向导”生成数据集在应用程序中创建和配置数据源。
在“数据集设计器”中打开该新数据集。
通过“TableAdapter 配置向导”将查询添加到 TableAdapter。
先决条件
若要完成本演练,您需要:
- 访问 Northwind 示例数据库(SQL Server 或 Access 版)。有关更多信息,请参见如何:安装示例数据库。
创建新的 Windows 应用程序
第一步是创建一个 Windows 应用程序。
创建新的 Windows 应用程序项目
在 Visual Studio 中,从“文件”菜单创建一个新项目。
在“项目类型”窗格中选择一种编程语言。
在“模板”窗格中单击“Windows 应用程序”。
将项目命名为 TableAdapterQueriesWalkthrough,然后单击“确定”。
Visual Studio 随即将该项目添加到“解决方案资源管理器”,并在设计器中显示一个新窗体。
使用 TableAdapter 创建数据库数据源
此步骤使用“数据源配置向导”创建基于 Northwind 示例数据库中 Customers 表的数据源。必须具有访问 Northwind 示例数据库的权限才能创建连接。有关设置 Northwind 示例数据库的信息,请参见如何:安装示例数据库。
创建数据源
在“数据”菜单上单击“显示数据源”。
在“数据源”窗口中,选择“添加新数据源”,启动“数据源配置向导”。
在“选择数据源类型”页上选择“数据库”,然后单击“下一步”。
在“选择您的数据连接”页面上执行下列操作之一:
如果下拉列表中包含到 Northwind 示例数据库的数据连接,请选择该连接。
- 或 -
选择“新建连接”,以启动“添加/修改连接”对话框。有关更多信息,请参见“添加/修改连接”对话框(通用)。
如果数据库需要密码,请选择该选项以包括敏感数据,再单击“下一步”。
在“将连接字符串保存到应用程序配置文件”页面上单击“下一步”。
在“选择数据库对象”页面上展开“表”节点。
选择“Customers”表,然后单击“完成”。
“NorthwindDataSet”即被添加到您的项目中,并且“数据源”窗口中出现“Customers”表。
在数据集设计器中打开数据集
在“数据集设计器”中打开数据集
在“数据源”窗口中右击 NorthwindDataset。
在快捷菜单上,选择“使用设计器编辑数据集”。
NorthwindDataset 在“数据集设计器”中打开。
向 CustomersTableAdapter 中添加第二个查询
向导通过 Customers 数据表和 CustomersTableAdapter 创建数据集。本节演练将向 CustomersTableAdapter 添加第二个查询。
向 CustomersTableAdapter 添加查询
将一个“查询”从“工具箱”的“数据集”选项卡拖动到“Customers”表。
选择“使用 SQL 语句”,然后单击“下一步”。
选择“选择(返回行)”,然后单击“下一步”。
向该查询添加一个 WHERE 子句,结果为:
SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE City = @City
说明: 如果正在使用 Access 版的 Northwind,则请使用问号替换 @City 参数。 (SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE City = ?)
在“选择要生成的方法”页上,将“填充 DataTable”方法命名为 FillByCity。
说明: 本演练中未使用“返回 DataTable”方法,因此可以清除该复选框或使用默认名称。
单击“下一步”完成该向导。
FillByCity 查询即被添加到 CustomersTableAdapter。
在窗体上添加执行其他查询的代码
执行查询
在“解决方案资源管理器”中选择“Form1”,然后单击“视图设计器”。
将“Customers”节点从“数据源”窗口拖动到“Form1”上。
通过从“视图”菜单选择“代码”更改为代码视图。
用下面运行 FillByCity 查询的代码替换 Form1_Load 事件处理程序中的代码。
Dim cityValue As String = "Seattle" CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, cityValue)
string cityValue = "Seattle"; customersTableAdapter.FillByCity(northwindDataSet.Customers, cityValue);
运行应用程序
运行应用程序
按 F5。
网格将由 City 值为 Seattle 的客户进行填充。
后续步骤
在应用程序中添加功能
添加一个 TextBox 控件和 Button 控件,并将文本框中的值传递给查询。 (CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, TextBox1.Text)).
向该数据集中数据表的 ColumnChanging 或 RowChanging 事件中添加验证逻辑。有关更多信息,请参见数据验证概述。