DbCommandBuilder 類別

定義

自動產生單一資料表命令,可用來調解對 DataSet 的變更和相關的資料庫。 這是只能被繼承的抽象類別。

public ref class DbCommandBuilder abstract : System::ComponentModel::Component
public abstract class DbCommandBuilder : System.ComponentModel.Component
type DbCommandBuilder = class
    inherit Component
Public MustInherit Class DbCommandBuilder
Inherits Component
繼承
衍生

備註

提供類別 DbCommandBuilder ,方便提供者寫入器建立自己的命令產生器。 藉由繼承自這個類別,開發人員可以在自己的程式代碼中實作提供者特定行為。

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

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

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

SelectCommand 還必須傳回至少一個主索引鍵或唯一的資料行。 如果不存在, InvalidOperationException 則會產生例外狀況,而且不會產生命令。

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

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

建構函式

DbCommandBuilder()

初始化一個從 DbCommandBuilder 類別繼承的類別之新執行個體。

屬性

CanRaiseEvents

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

(繼承來源 Component)
CatalogLocation

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

CatalogSeparator

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

ConflictOption

指定 ConflictOption 所要使用的 DbCommandBuilder

Container

取得包含 IContainerComponent

(繼承來源 Component)
DataAdapter

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

DesignMode

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

(繼承來源 Component)
Events

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

(繼承來源 Component)
QuotePrefix

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

QuoteSuffix

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

SchemaSeparator

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

SetAllValues

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

Site

取得或設定 ComponentISite

(繼承來源 Component)

方法

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

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

CreateObjRef(Type)

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

(繼承來源 MarshalByRefObject)
Dispose()

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

(繼承來源 Component)
Dispose(Boolean)

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

Equals(Object)

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

(繼承來源 Object)
GetDeleteCommand()

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

GetDeleteCommand(Boolean)

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

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetInsertCommand()

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

GetInsertCommand(Boolean)

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

GetLifetimeService()
已淘汰.

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

(繼承來源 MarshalByRefObject)
GetParameterName(Int32)

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

GetParameterName(String)

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

GetParameterPlaceholder(Int32)

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

GetSchemaTable(DbCommand)

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

GetService(Type)

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

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetUpdateCommand()

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

GetUpdateCommand(Boolean)

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

InitializeCommand(DbCommand)

重設 CommandTimeout 上的 TransactionCommandTypeUpdateRowSourceDbCommand 屬性。

InitializeLifetimeService()
已淘汰.

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

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

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

(繼承來源 MarshalByRefObject)
QuoteIdentifier(String)

在正確目錄案例中提供不具引號的識別項時,傳回該識別項具引號的正確格式,包括適當逸出識別項中的任何內嵌引號。

RefreshSchema()

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

RowUpdatingHandler(RowUpdatingEventArgs)

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

SetRowUpdatingHandler(DbDataAdapter)

註冊 DbCommandBuilder,以處理 RowUpdatingDbDataAdapter 事件。

ToString()

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

(繼承來源 Component)
UnquoteIdentifier(String)

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

事件

Disposed

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

(繼承來源 Component)

適用於

另請參閱