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 變更傳回至數據源,來提供此網橋。

OdbcDataAdapter當 填滿 DataSet時,如果傳回的數據不存在,它會為傳回的數據建立必要的數據表和數據行。 不過,除非 屬性設定AddWithKey為 ,否則MissingSchemaAction主鍵資訊不會包含在隱含建立的架構中。 您也可以先 OdbcDataAdapter 建立的 DataSet架構,包括主鍵資訊,再使用 FillSchema填入數據。 如需詳細資訊,請參閱 將現有條件約束新增至數據集

注意

當您在沒有主鍵數據行的數據源上呼叫 Fill 方法時,會 OdbcDataAdapter 嘗試將唯一條件約束數據行升階為主鍵。 在進程中,會將 OdbcDataAdapter 唯一條件約束標示為不可為 Null。 除非唯一條件約束數據行中有 Null 值,否則此行為會正常運作。 如果有 Null 值,方法會 Fill 失敗併發生條件約束違規。 若要避免這種情況,請勿允許唯一條件約束數據行中的 Null 值。

注意

由於原生 ODBC 驅動程式的限制,當您呼叫 FillSchema時,只會傳回一個 DataTable 。 即使執行預期來自多個 DataTable 物件的 SQL 批次語句,也是如此。

OdbcDataAdapter也包含 SelectCommandInsertCommandDeleteCommandUpdateCommandTableMappings 屬性,以協助載入和更新數據。

建構函式

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 作業期間,當 DataRow 新增至 DataTable 之後,是否要在其上呼叫 AcceptChanges()

(繼承來源 DataAdapter)
AcceptChangesDuringUpdate

取得或設定在 AcceptChanges() 期間是否呼叫 Update(DataSet)

(繼承來源 DataAdapter)
CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
Container

取得包含 IContainerComponent

(繼承來源 Component)
ContinueUpdateOnError

取得或設定數值,指定當資料列更新期間發生錯誤時,是否產生例外狀況。

(繼承來源 DataAdapter)
DeleteCommand

取得或設定用來在資料來源中刪除資料錄的 SQL 陳述式或預存程序。

DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
FillCommandBehavior

取得或設定用來填入資料配接器 (Adapter) 之命令的行為。

(繼承來源 DbDataAdapter)
FillLoadOption

取得或設定 LoadOption,決定配接器如何從 DataTable 填入 DbDataReader

(繼承來源 DataAdapter)
InsertCommand

取得或設定 SQL 陳述式或預存程序,用來插入新記錄到資料來源。

MissingMappingAction

判斷在傳入的資料不具有相符的資料表或資料行時要採取的動作。

(繼承來源 DataAdapter)
MissingSchemaAction

判斷在現有 DataSet 結構描述 (Schema) 與傳入的資料不相符時要採取的動作。

(繼承來源 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)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

初始化 RowUpdatedEventArgs 類別的新執行個體。

(繼承來源 DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

初始化 RowUpdatingEventArgs 類別的新執行個體。

(繼承來源 DbDataAdapter)
CreateTableMappings()

建立新的 DataTableMappingCollection

(繼承來源 DataAdapter)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 DbDataAdapter 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 DbDataAdapter)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
ExecuteBatch()

執行目前批次。

(繼承來源 DbDataAdapter)
Fill(DataSet)

DataSet 中加入或重新整理資料列。

(繼承來源 DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

使用 DataSetDataSet 名稱,加入或重新整理 DataTable 中指定範圍內的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

使用 DataSet、來源資料表名稱、命令字串和命令行為,加入或重新整理 DataSet 中指定範圍內的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataSet, String)

使用 DataSetDataSet 名稱,加入或重新整理 DataTable 中的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

使用 DataSetDataTableIDataReader 名稱,新增或重新整理 DataSet 中指定範圍內的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataTable)

使用 DataSet 名稱,加入或重新整理 DataTable 中指定範圍內的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataTable, IDataReader)

使用指定的 DataTableIDataReader 名稱,新增或重新整理 DataTable 中的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

使用指定的 DataTableDataTableIDbCommand,加入或重新整理 CommandBehavior 中的資料列,以符合那些在資料來源中的資料列。

(繼承來源 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

DataTable 物件集合中所指定的範圍內加入或重新整理資料列,以符合那些在資料來源中的資料列。

(繼承來源 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

使用 DataSetDataSet 名稱,加入或重新整理 DataTable 中指定範圍內的資料列,以符合那些在資料來源中的資料列。

(繼承來源 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)

根據指定的 DataTable,設定指定 SchemaType 的結構描述。

(繼承來源 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()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 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 物件是否存在並且應該保存 (Persist)。

(繼承來源 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)

針對具有指定 DataTable 名稱之 DataSet 中的每個插入、更新或刪除的資料列,執行個別的 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

適用於

另請參閱