DbCommandBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
自動產生單一資料表命令,可用來調解對 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。 您一次只能將一個 DbDataAdapter 或 DbCommandBuilder 物件彼此建立關聯。
若要產生 INSERT、UPDATE 或 DELETE 語句,會 DbCommandBuilder 使用 SelectCommand 屬性自動擷取一組必要的元數據。 例如,如果您在擷取元數據之後變更 SelectCommand (,例如,在第一次更新) 之後,您應該呼叫 RefreshSchema 方法來更新元數據。
SelectCommand
還必須傳回至少一個主索引鍵或唯一的資料行。 如果不存在, InvalidOperationException 則會產生例外狀況,而且不會產生命令。
DbCommandBuilder也會使用 所參考的ConnectionSelectCommand、 CommandTimeout和 Transaction 屬性。 如果使用者修改了其中任何一個屬性,或SelectCommand本身被取代,則應該呼叫 RefreshSchema 。 否則 InsertCommand, UpdateCommand和 DeleteCommand 屬性會保留其先前的值。
如果您呼叫 Dispose,則會 DbCommandBuilder 與 DbDataAdapter解除關聯,而且不再使用產生的命令。
建構函式
DbCommandBuilder() |
初始化一個從 DbCommandBuilder 類別繼承的類別之新執行個體。 |
屬性
CanRaiseEvents |
取得值,指出元件是否能引發事件。 (繼承來源 Component) |
CatalogLocation |
取得或設定 DbCommandBuilder 類別執行個體的 CatalogLocation。 |
CatalogSeparator |
取得或設定作為 DbCommandBuilder 類別執行個體之目錄分隔符號使用的字串。 |
ConflictOption |
指定 ConflictOption 所要使用的 DbCommandBuilder。 |
Container |
取得包含 IContainer 的 Component。 (繼承來源 Component) |
DataAdapter |
取得或設定會自動產生 Transact-SQL 陳述式的 DbDataAdapter 物件。 |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。 (繼承來源 Component) |
Events |
取得附加在這個 Component 上的事件處理常式清單。 (繼承來源 Component) |
QuotePrefix |
取得或設定開始字元 (一個或多個),當指定其名稱包含空白或保留語彙基元 (Token) 之類字元的資料庫物件時,就可以使用。 |
QuoteSuffix |
取得或設定結束字元 (一個或多個),當指定其名稱包含空白或保留語彙基元之類字元的資料庫物件時,就可以使用。 |
SchemaSeparator |
取得或設定用於結構描述識別項和任何其他識別項間之分隔符號的字元。 |
SetAllValues |
指定更新陳述式中包含所有資料行值或只包含已變更的資料行值。 |
Site | (繼承來源 Component) |
方法
事件
Disposed |
當 Dispose() 方法的呼叫處置元件時,就會發生。 (繼承來源 Component) |
適用於
另請參閱
- 使用 CommandBuilder 產生命令
- ADO.NET 概觀 \(部分機器翻譯\)