OleDbDataAdapter 类
表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。
有关此类型所有成员的列表,请参阅 OleDbDataAdapter 成员。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DataAdapter
System.Data.Common.DbDataAdapter
System.Data.OleDb.OleDbDataAdapter
[Visual Basic] NotInheritable Public Class OleDbDataAdapter Inherits DbDataAdapter Implements IDbDataAdapter [C#] public sealed class OleDbDataAdapter : DbDataAdapter, IDbDataAdapter [C++] public __gc __sealed class OleDbDataAdapter : public DbDataAdapter, IDbDataAdapter [JScript] public class OleDbDataAdapter extends DbDataAdapter implements IDbDataAdapter
线程安全
此类型的所有公共静态(Visual Basic 中为 Shared)成员是线程安全的。但不保证任何实例成员是线程安全的。
备注
OleDbDataAdapter 充当 DataSet 和数据源之间用于检索和保存数据的桥接器。OleDbDataAdapter 通过以下方法提供这个桥接器:使用 Fill 将数据从数据源加载到 DataSet 中,使用 Update 将 DataSet 中所作的更改发回数据源。
当 OleDbDataAdapter 填充 DataSet 时,它将为返回的数据创建必需的表和列(如果它们还不存在的话)。但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中就将不包括主键信息。也可以使用 FillSchema,让 OleDbDataAdapter 创建 DataSet 的架构,并在用数据填充它之前就将主键信息包括进去。有关更多信息,请参见
请注意,包括 MSDataShape 提供程序在内的某些 OLE DB 提供程序并不返回基表或主键信息。其结果是,OleDbDataAdapter 不能为任何已创建的 DataTable 正确地设置 PrimaryKey 属性。在这种情况下,应该显式指定 DataSet 中表的主键。
OleDbDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性,以便于数据的加载和更新。
当创建 OleDbDataAdapter 的实例时,属性都设置为其初始值。有关这些值的列表,请参见 OleDbDataAdapter 构造函数。
示例
[Visual Basic, C#, C++] 以下示例使用 OleDbCommand、OleDbDataAdapter 和 OleDbConnection 从 Access 数据源选择记录,并用选定行填充 DataSet。然后返回已填充的 DataSet。为完成此任务,向该方法传递一个已初始化的 DataSet、一个连接字符串和一个查询字符串,后者是一个 SQL SELECT 语句。
[Visual Basic] Public Function SelectOleDbSrvRows(dataSet As DataSet, connection As String, query As String) As DataSet Dim conn As New OleDbConnection(connection) Dim adapter As New OleDbDataAdapter() adapter.SelectCommand = new OleDbCommand(query, conn) adapter.Fill(dataset) Return dataset End Function [C#] public DataSet SelectOleDbSrvRows(DataSet dataset,string connection,string query) { OleDbConnection conn = new OleDbConnection(connection); OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand(query, conn); adapter.Fill(dataset); return dataset; } [C++] public: DataSet* SelectOleDbSrvRows(DataSet* dataset,String* connection,String* query) { OleDbConnection* conn = new OleDbConnection(connection); OleDbDataAdapter* adapter = new OleDbDataAdapter(); adapter->SelectCommand = new OleDbCommand(query, conn); adapter->Fill(dataset); return dataset; }
[JScript] 没有可用于 JScript 的示例。若要查看 Visual Basic、C# 或 C++ 示例,请单击页左上角的“语言筛选器”按钮 。
要求
命名空间: System.Data.OleDb
平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列
程序集: System.Data (在 System.Data.dll 中)
请参见
OleDbDataAdapter 成员 | System.Data.OleDb 命名空间 | OleDbConnection | OleDbCommand | DataSet | DataTable