OdbcDataAdapter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表一組資料命令和資料來源連線,用來填入 DataSet 並更新資料來源。 此類別無法獲得繼承。
public ref class OdbcDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class OdbcDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class OdbcDataAdapter sealed : 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
public sealed class OdbcDataAdapter : System.Data.Common.DbDataAdapter
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
Implements ICloneable
Public NotInheritable Class OdbcDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class OdbcDataAdapter
Inherits DbDataAdapter
- 繼承
- 實作
範例
下列範例會使用 OdbcCommand、 OdbcDataAdapter和 OdbcConnection 來選取記錄,並以選取的資料列填 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也包含 SelectCommand、InsertCommand、DeleteCommand、 UpdateCommand和 TableMappings
屬性,以協助載入和更新數據。
建構函式
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 |
取得包含 IContainer 的 Component。 (繼承來源 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 |
取得或設定 |
SelectCommand |
取得或設定用來在資料來源中選取資料錄的 SQL 陳述式或預存程序。 |
Site | (繼承來源 Component) |
TableMappings |
取得集合,這個集合提供源數據表與 DataTable之間的主要對應。 (繼承來源 DataAdapter) |
UpdateBatchSize |
取得或設定值,其啟用或停用批次處理支援,並指定可於批次中執行的命令數目。 (繼承來源 DbDataAdapter) |
UpdateCommand |
取得或設定用來在資料來源中更新記錄的 SQL 陳述式或預存程序。 |
方法
事件
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。 |