共用方式為


OleDbCommandBuilder 類別

定義

自動產生單一資料表命令,可用來調解對 DataSet 的變更和相關的資料庫。 此類別無法獲得繼承。

public ref class OleDbCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OleDbCommandBuilder sealed : System::ComponentModel::Component
public sealed class OleDbCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OleDbCommandBuilder : System.ComponentModel.Component
type OleDbCommandBuilder = class
    inherit DbCommandBuilder
type OleDbCommandBuilder = class
    inherit Component
Public NotInheritable Class OleDbCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OleDbCommandBuilder
Inherits Component
繼承
繼承
OleDbCommandBuilder

範例

下列範例會 OleDbCommand使用 和 OleDbDataAdapterOleDbConnection,從數據源中選取數據列。 此範例會傳遞初始化DataSet的 、連接字串、SQL SELECT 語句的查詢字串,以及數據源數據表名稱的字串。 然後,此範例會 OleDbCommandBuilder建立 。

public static DataSet UpdateRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        cb.GetDeleteCommand();
        //Without the OleDbCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        connection.Close();
    }
    return dataSet;
}
Public Shared Function UpdateRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the OleDbCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

備註

OleDbDataAdapter不會自動產生與相關聯數據源協調對 DataSet 所做的變更所需的 SQL 語句。 不過,如果您設定 SelectCommand 的屬性,您可以建立 對象來自動產生單一OleDbCommandBuilder數據表更新的 OleDbDataAdapterSQL 語句。 然後,您未設定的任何其他 SQL 語句都會由 OleDbCommandBuilder產生。

每當您設定 DataAdapter 屬性時,會將OleDbCommandBuilder本身註冊為事件的接聽程式RowUpdating。 您一次只能將一個 OleDbDataAdapterOleDbCommandBuilder 物件彼此建立關聯。

若要產生 INSERT、UPDATE 或 DELETE 語句,會 OleDbCommandBuilder 使用 SelectCommand 屬性自動擷取一組必要的元數據。 如果您在擷取元數據之後變更 SelectCommand ,例如在第一次更新之後,您應該呼叫 RefreshSchema 方法來更新元數據。

OleDbCommandBuilder也會使用 所參考的ConnectionSelectCommandCommandTimeoutTransaction 屬性。 如果使用者修改了其中一或多個屬性,或SelectCommand本身被取代,則應該呼叫 RefreshSchema 。 否則 InsertCommandUpdateCommandDeleteCommand 屬性會保留其先前的值。

如果您呼叫 Dispose,則會 OleDbCommandBuilderOleDbDataAdapter解除關聯,而且不再使用產生的命令。

建構函式

OleDbCommandBuilder()

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

OleDbCommandBuilder(OleDbDataAdapter)

使用關聯的 OleDbCommandBuilder 物件來初始化 OleDbDataAdapter 類別的新執行個體。

屬性

CanRaiseEvents

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

(繼承來源 Component)
CatalogLocation

取得或設定 DbCommandBuilder 類別執行個體的 CatalogLocation

(繼承來源 DbCommandBuilder)
CatalogSeparator

取得或設定作為 DbCommandBuilder 類別執行個體之目錄分隔符號使用的字串。

(繼承來源 DbCommandBuilder)
ConflictOption

指定 ConflictOption 所要使用的 DbCommandBuilder

(繼承來源 DbCommandBuilder)
Container

取得包含 IContainerComponent

(繼承來源 Component)
DataAdapter

取得或設定會自動產生 SQL 陳述式的 OleDbDataAdapter 物件。

DesignMode

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

(繼承來源 Component)
Events

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

(繼承來源 Component)
QuotePrefix

取得或設定開始字元 (一個或多個),當指定其名稱包含空白或保留語彙基元 (Token) 之類字元的資料庫物件時,就可以使用。

QuotePrefix

取得或設定開始字元 (一個或多個),當指定其名稱包含空白或保留語彙基元 (Token) 之類字元的資料庫物件時,就可以使用。

(繼承來源 DbCommandBuilder)
QuoteSuffix

取得或設定結束字元 (一個或多個),當指定其名稱包含空白或保留語彙基元之類字元的資料庫物件時,就可以使用。

QuoteSuffix

取得或設定結束字元 (一個或多個),當指定其名稱包含空白或保留語彙基元之類字元的資料庫物件時,就可以使用。

(繼承來源 DbCommandBuilder)
SchemaSeparator

取得或設定用於結構描述識別項和任何其他識別項間之分隔符號的字元。

(繼承來源 DbCommandBuilder)
SetAllValues

指定更新陳述式中包含所有資料行值或只包含已變更的資料行值。

(繼承來源 DbCommandBuilder)
Site

取得或設定 ComponentISite

(繼承來源 Component)

方法

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

允許 DbCommandBuilder 類別的提供者實作處理其他參數屬性。

(繼承來源 DbCommandBuilder)
CreateObjRef(Type)

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

(繼承來源 MarshalByRefObject)
DeriveParameters(OleDbCommand)

OleDbCommand 中指定的預存程序 (Stored Procedure) 擷取參數資訊,並填入 (Populate) 指定 Parameters 物件的 OleDbCommand 集合。

Dispose()

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

(繼承來源 Component)
Dispose(Boolean)

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

(繼承來源 DbCommandBuilder)
Dispose(Boolean)

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

(繼承來源 Component)
Equals(Object)

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

(繼承來源 Object)
GetDeleteCommand()

取得在資料來源上執行刪除時所需之自動產生的 OleDbCommand 物件。

GetDeleteCommand(Boolean)

取得在資料來源上執行刪除時所需之自動產生的 OleDbCommand 物件。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetInsertCommand()

取得在資料來源上執行插入時所需之自動產生的 OleDbCommand 物件。

GetInsertCommand(Boolean)

取得在資料來源上執行插入時所需之自動產生的 OleDbCommand 物件。

GetLifetimeService()
已淘汰.

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

(繼承來源 MarshalByRefObject)
GetParameterName(Int32)

傳回指定參數的名稱,格式為 @p#。 建置自訂命令產生器時使用。

(繼承來源 DbCommandBuilder)
GetParameterName(String)

已提供部分參數名稱時,傳回完整參數名稱。

(繼承來源 DbCommandBuilder)
GetParameterPlaceholder(Int32)

傳回相關 SQL 陳述式中參數的預留位置。

(繼承來源 DbCommandBuilder)
GetSchemaTable(DbCommand)

傳回 DbCommandBuilder 的結構描述資料表。

(繼承來源 DbCommandBuilder)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetUpdateCommand()

取得在資料來源上執行更新時所需之自動產生的 OleDbCommand 物件。

GetUpdateCommand(Boolean)

選擇性地使用參數名稱的資料行,取得自動產生的 OleDbCommand 物件,其為在資料來源執行更新時所需。

InitializeCommand(DbCommand)

重設 CommandTimeout 上的 TransactionCommandTypeUpdateRowSourceDbCommand 屬性。

(繼承來源 DbCommandBuilder)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
QuoteIdentifier(String)

在正確資料庫目錄情況下提供不具引號的識別項時,會傳回該識別項具引號的正確格式。 這包括正確地逸出識別項中的任何內嵌引號。

QuoteIdentifier(String, OleDbConnection)

在正確資料庫目錄情況下提供不具引號的識別項時,會傳回該識別項具引號的正確格式。 這包括正確地逸出識別項中的任何內嵌引號。

RefreshSchema()

清除與這個 OleDbCommandBuilder 關聯的命令。

RefreshSchema()

清除與這個 DbCommandBuilder 關聯的命令。

(繼承來源 DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

加入 RowUpdating 事件的事件處理常式。

(繼承來源 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

註冊 DbCommandBuilder,以處理 RowUpdatingDbDataAdapter 事件。

(繼承來源 DbCommandBuilder)
ToString()

傳回任何包含 Component 名稱的 String。 不應覆寫此方法。

(繼承來源 Component)
UnquoteIdentifier(String)

在有提供引號識別項時,會傳回該識別項不具引號的正確格式。 這包括正確地未逸出識別項中的任何內嵌引號。

UnquoteIdentifier(String, OleDbConnection)

在有提供引號識別項時,會傳回該識別項不具引號的正確格式。 這包括正確地未逸出識別項中的任何內嵌引號。

事件

Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)

適用於

另請參閱