演练:创建带有多个查询的 TableAdapter
在本演练中,将使用 数据源配置向导 在数据集中创建一个 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 事件中添加验证逻辑。 有关更多信息,请参见 验证数据集中的数据。