OdbcDataAdapter 类

定义

表示用于填充 DataSet 和更新数据源的一组数据命令和一个数据源连接。 此类不能被继承。

public ref class OdbcDataAdapter sealed : System::Data::Common::DbDataAdapter
public ref class OdbcDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class OdbcDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public sealed class OdbcDataAdapter : System.Data.Common.DbDataAdapter
public sealed class OdbcDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class OdbcDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
type OdbcDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
type OdbcDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
Public NotInheritable Class OdbcDataAdapter
Inherits DbDataAdapter
Public NotInheritable Class OdbcDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class OdbcDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
继承
实现

示例

以下示例使用 OdbcCommandOdbcDataAdapterOdbcConnection 来选择记录并使用所选行填充 DataSet

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OdbcConnection connection =
               new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter =
            new OdbcDataAdapter(queryString, connection);

        // Open the connection and fill the DataSet.
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
    return dataSet;
}
Public Function GetDataSetFromAdapter( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter(queryString, connection)

        ' Open the connection and fill the DataSet.
        Try
            connection.Open()
            adapter.Fill(dataSet)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using

    Return dataSet
End Function

注解

用作 OdbcDataAdapter 和 数据源之间的桥梁, DataSet 用于检索和保存数据。 OdbcDataAdapter提供此桥的方式是使用 Fill 将数据从数据源加载到 中DataSet,并使用 Update 将 中DataSet所做的更改发送回数据源。

当 填充 时DataSetOdbcDataAdapter它会为返回的数据创建所需的表和列(如果它们尚不存在)。 但是,除非 将 属性设置为 AddWithKey,否则MissingSchemaAction隐式创建的架构中不包含主键信息。 在使用 填充数据FillSchema之前,还可以OdbcDataAdapter创建 的架构DataSet,包括主键信息。 有关详细信息,请参阅 向数据集添加现有约束

注意

在没有主键列的数据源上调用 Fill 方法时,会 OdbcDataAdapter 尝试将唯一约束列提升为主键。 在此过程中, 将 OdbcDataAdapter 唯一约束标记为不可为空。 除非唯一约束列中存在 null 值,否则此行为有效。 如果存在 null 值,则 Fill 方法将失败并违反约束。 若要避免这种情况,请勿在唯一约束列中允许 null 值。

注意

由于本机 ODBC 驱动程序的限制,调用 时FillSchema只返回一个DataTable驱动程序。 即使在执行 SQL 批处理语句时也是如此,这些语句需要从中有多个 DataTable 对象。

还包括 OdbcDataAdapterSelectCommandInsertCommandDeleteCommandUpdateCommandTableMappings 属性,以便于加载和更新数据。

构造函数

OdbcDataAdapter()

初始化 OdbcDataAdapter 类的新实例。

OdbcDataAdapter(OdbcCommand)

用指定的 SQL SELECT 语句初始化 OdbcDataAdapter 类的新实例。

OdbcDataAdapter(String, OdbcConnection)

用一个 SQL SELECT 语句和一个 OdbcDataAdapter 初始化 OdbcConnection 类的新实例。

OdbcDataAdapter(String, String)

使用 SQL SELECT 语句和连接字符串初始化 OdbcDataAdapter 类的新实例。

字段

DefaultSourceTableName

DataAdapter 对象用于表映射的默认名称。

(继承自 DbDataAdapter)

属性

AcceptChangesDuringFill

获取或设置一个值,该值指示在任何 Fill 操作过程中,在将 AcceptChanges() 添加到 DataRow 之后是否在 DataTable 上调用它。

(继承自 DataAdapter)
AcceptChangesDuringUpdate

获取或设置在 AcceptChanges() 期间是否调用 Update(DataSet)

(继承自 DataAdapter)
CanRaiseEvents

获取一个指示组件是否可以引发事件的值。

(继承自 Component)
Container

获取包含 IContainerComponent

(继承自 Component)
ContinueUpdateOnError

获取或设置一个值,该值指定在行更新过程中遇到错误时是否生成异常。

(继承自 DataAdapter)
DeleteCommand

获取或设置 SQL 语句或存储过程,用于删除数据源中的记录。

DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
FillCommandBehavior

获取或设置用于填充数据适配器的命令的行为。

(继承自 DbDataAdapter)
FillLoadOption

获取或设置 LoadOption,后者确定适配器如何从 DataTable 中填充 DbDataReader

(继承自 DataAdapter)
InsertCommand

获取或设置 SQL 语句或用于将新记录插入数据源的存储过程。

MissingMappingAction

确定传入数据没有匹配的表或列时需要执行的操作。

(继承自 DataAdapter)
MissingSchemaAction

确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。

(继承自 DataAdapter)
ReturnProviderSpecificTypes

获取或设置 Fill 方法是应当返回提供程序特定的值,还是返回公用的符合 CLS 的值。

(继承自 DataAdapter)
SelectCommand

获取或设置 SQL 语句或存储过程,用于选择数据源中的记录。

Site

获取或设置 ComponentISite

(继承自 Component)
TableMappings

获取一个集合,该集合提供源表和 DataTable之间的主映射。

(继承自 DataAdapter)
UpdateBatchSize

获取或设置一个值,该值启用或禁用批处理支持,并且指定可在一次批处理中执行的命令的数量。

(继承自 DbDataAdapter)
UpdateCommand

获取或设置 SQL 语句或用于在数据源中更新记录的存储过程。

方法

AddToBatch(IDbCommand)

向当前批处理添加 IDbCommand

(继承自 DbDataAdapter)
ClearBatch()

从批处理中移除所有 IDbCommand 对象。

(继承自 DbDataAdapter)
CloneInternals()
已过时.
已过时.
已过时.
已过时.

创建此 DataAdapter 实例的一个副本。

(继承自 DataAdapter)
CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

初始化 RowUpdatedEventArgs 类的新实例。

(继承自 DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

初始化 RowUpdatingEventArgs 类的新实例。

(继承自 DbDataAdapter)
CreateTableMappings()

创建一个新的 DataTableMappingCollection

(继承自 DataAdapter)
Dispose()

释放由 Component 使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放由 DbDataAdapter 占用的非托管资源,还可以另外再释放托管资源。

(继承自 DbDataAdapter)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExecuteBatch()

执行当前批处理。

(继承自 DbDataAdapter)
Fill(DataSet)

DataSet 中添加或刷新行。

(继承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

DataSet 的指定范围中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。

(继承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

使用 DataSet 和源表名称、命令字符串以及命令行为,在 DataSet 的指定范围中添加或刷新某些行以使它们与数据源中对应的行相一致。

(继承自 DbDataAdapter)
Fill(DataSet, String)

DataSet 中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。

(继承自 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

DataSet 的指定范围中添加或刷新行以与使用 DataSetDataTableIDataReader 名称的数据源中的行进行匹配。

(继承自 DbDataAdapter)
Fill(DataTable)

DataSet 的指定范围中添加或刷新行,以与使用 DataTable 名称的数据源中的行匹配。

(继承自 DbDataAdapter)
Fill(DataTable, IDataReader)

DataTable 中添加或刷新行,以与使用指定的 DataTableIDataReader 名称的数据源中的行匹配。

(继承自 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

DataTable 中添加或刷新行,以与使用指定的 DataTableIDbCommandCommandBehavior 的数据源中的行匹配。

(继承自 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

DataTable 对象集合的指定范围中添加或刷新行以与数据源中的行匹配。

(继承自 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

DataSet 的指定范围中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。

(继承自 DbDataAdapter)
Fill(Int32, Int32, DataTable[])

添加或刷新一个或多个 DataTable 对象中的行,以匹配数据源中的行,从指定记录开始并检索最多指定的最大记录数。

(继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType)

将名为“Table”的 DataTable 添加到指定的 DataSet,并根据指定的 SchemaType 配置架构以匹配数据源中的架构。

(继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

DataTable 添加到指定的 DataSet ,并根据指定的 SchemaType配置架构以匹配数据源中的架构。

(继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String)

DataTable 添加到指定的 DataSet 中,并根据指定的 SchemaTypeDataTable 配置架构以匹配数据源中的架构。

(继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

向指定的 DataTable 添加一个 DataSet

(继承自 DataAdapter)
FillSchema(DataTable, SchemaType)

根据指定的 SchemaType 配置指定 DataTable 的架构。

(继承自 DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

向指定的 DataTable 添加一个 DataSet

(继承自 DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

根据指定的 DataTable、命令字符串以及 SchemaType 值配置指定 CommandBehavior 的架构。

(继承自 DbDataAdapter)
GetBatchedParameter(Int32, Int32)

从当前批处理中的其中一个命令返回一个 IDataParameter

(继承自 DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

返回与较大的批处理更新内的单次更新尝试有关的信息。

(继承自 DbDataAdapter)
GetFillParameters()

获取当执行 SQL SELECT 语句时由用户设置的参数。

(继承自 DbDataAdapter)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。

(继承自 Component)
GetType()

获取当前实例的 Type

(继承自 Object)
HasTableMappings()

指示是否已创建了一个 DataTableMappingCollection

(继承自 DataAdapter)
InitializeBatching()

初始化 DbDataAdapter 的批处理。

(继承自 DbDataAdapter)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
OnFillError(FillErrorEventArgs)

引发 FillError 事件。

(继承自 DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

引发 .NET 数据提供程序的 RowUpdated 事件。

(继承自 DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

引发 .NET 数据提供程序的 RowUpdating 事件。

(继承自 DbDataAdapter)
ResetFillLoadOption()

FillLoadOption 重置为默认状态,并使 Fill(DataSet) 接受 AcceptChangesDuringFill

(继承自 DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

确定是否应保持 AcceptChangesDuringFill 属性。

(继承自 DataAdapter)
ShouldSerializeFillLoadOption()

确定是否应保持 FillLoadOption 属性。

(继承自 DataAdapter)
ShouldSerializeTableMappings()

确定一个或多个 DataTableMapping 对象是否存在,并且它们是否应该是持久的。

(继承自 DataAdapter)
TerminateBatching()

结束 DbDataAdapter 的批处理。

(继承自 DbDataAdapter)
ToString()

返回包含 Component 的名称的 String(如果有)。 不应重写此方法。

(继承自 Component)
Update(DataRow[])

通过为 DataSet 中的指定数组中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。

(继承自 DbDataAdapter)
Update(DataRow[], DataTableMapping)

通过为指定的 DataRow 对象数组中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。

(继承自 DbDataAdapter)
Update(DataSet)

通过为指定的 DataSet 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。

(继承自 DbDataAdapter)
Update(DataSet, String)

通过为具有指定名称 DataSetDataTable 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。

(继承自 DbDataAdapter)
Update(DataTable)

通过为指定的 DataTable 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。

(继承自 DbDataAdapter)

事件

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)
FillError

在填充操作过程中出现错误时返回。

(继承自 DbDataAdapter)
RowUpdated

在针对数据源执行命令之后的更新操作期间发生。

RowUpdating

在对数据源执行命令前的 Update(DataSet) 过程中发生。

显式接口实现

ICloneable.Clone()

有关此成员的说明,请参见 Clone()

IDataAdapter.TableMappings

获取一个集合,该集合指示如何将源表映射到数据集表。

(继承自 DataAdapter)
IDbDataAdapter.DeleteCommand

有关此成员的说明,请参见 DeleteCommand

IDbDataAdapter.InsertCommand

有关此成员的说明,请参见 InsertCommand

IDbDataAdapter.SelectCommand

有关此成员的说明,请参见 SelectCommand

IDbDataAdapter.UpdateCommand

有关此成员的说明,请参见 UpdateCommand

适用于

另请参阅