TableAdapter 提供应用程序和数据库之间的通信。更具体地说,TableAdapter 连接到数据库,执行查询或存储过程,并返回用返回数据填充的新数据表或是用返回数据填充现有 DataTable 。TableAdapter 还用于将更新数据从应用程序发送回数据库。
早期版本的 Visual Studio 的用户可以将 TableAdapter 视为具有内置连接对象并能够包含多个查询的 DataAdapter 。每个添加到 TableAdapter 的查询都公开为公共方法,该公共方法就如同对象上的任何其他方法或函数那样进行调用。
除了 DataAdapter 的标准功能外,TableAdapter 还提供其他的类型化方法,这些方法对与关联的类型化 DataTable 共享公共架构的查询进行封装。换句话说,可以在 TableAdapter 上根据需要拥有任意多的查询,只要这些查询返回符合同一架构的数据即可。
在 Visual Studio 的前一版本中,使用 ADO.NET 数据适配器在应用程序和数据库之间通信。数据适配器仍然是 .NET Framework 数据提供程序 的一个主要组件,而 TableAdapter 则是设计器生成的组件,它对 DataAdapter 的功能进行了改进。TableAdapter 通常包含 Fill
和 Update
方法,用于获取和更新数据库中的数据。
TableAdapter 是使用“数据集设计器”在强类型数据集中创建的。可以在使用数据源配置向导创建新数据集期间创建 TableAdapter。还可以使用 TableAdapter 配置向导或通过将数据库对象从“服务器资源管理器”拖动到“数据集设计器”上,在现有数据集中创建 TableAdapter。有关更多信息,请参见如何:创建 TableAdapter。
TableAdapter 是使用“数据集设计器”设计的,但生成的 TableAdapter 类并不是作为 DataSet 的嵌套类生成的。它们位于特定于每个数据集的独立命名空间中。例如,如果您有一个名为 NorthwindDataSet
的数据集,与 NorthwindDataSet
中的 DataTable 关联的 TableAdapter 将位于 NorthwindDataSetTableAdapters
命名空间中。要通过编程方法访问特定的 TableAdapter,必须声明 TableAdapter 的新实例。例如:
Visual Basic | |
---|---|
Dim northwindDataSet As New NorthwindDataSet() Dim customersTableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter() customersTableAdapter |