DbCommandBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
自動產生單表指令,用於對 A 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 不會自動產生 SQL 陳述式,以將對 a DataSet 的變更與相關資料來源進行調和。 不過,如果你設定 SelectCommand . 的屬性DbDataAdapter,你可以建立DbCommandBuilder一個物件,自動產生用於單表更新的 SQL 語句。 然後,任何你未設定的額外 SQL 語句會由 DbCommandBuilder產生。
當你設定DataAdapter屬性時,它DbCommandBuilder會自動註冊為事件的監聽者RowUpdating。 你一次只能將其中一個 DbDataAdapter 或 DbCommandBuilder 物件彼此關聯起來。
為了產生 INSERT、UPDATE 或 DELETE 語句,會 DbCommandBuilder 使用 該 SelectCommand 屬性自動取得所需的元資料集合。 如果你在元資料取得後(例如第一次更新後)更改 , SelectCommand 你應該呼叫 RefreshSchema 更新元資料的方法。
SelectCommand 還必須傳回至少一個主索引鍵或唯一的資料行。 若不存在 InvalidOperationException ,則會產生例外,指令不會被產生。
也 DbCommandBuilder 使用 Connection了 、 CommandTimeout以及 Transaction 所 SelectCommand參考的屬性。 使用者應在這些屬性中的任何一項被修改,或SelectCommand是該屬性本身被替換時呼叫RefreshSchema。 否則 InsertCommand、 UpdateCommand、 和 DeleteCommand 屬性將保留先前的值。
如果你呼叫 Dispose,則 DbCommandBuilder 與 分離 DbDataAdapter,產生的指令不再使用。
建構函式
| 名稱 | Description |
|---|---|
| DbCommandBuilder() |
初始化一個繼承自該 DbCommandBuilder 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| CanRaiseEvents |
會得到一個值,表示該元件是否能引發事件。 (繼承來源 Component) |
| CatalogLocation |
取得或設定 CatalogLocation 該類別的實例 DbCommandBuilder 。 |
| CatalogSeparator |
取得或設定一個字串,作為類別實例 DbCommandBuilder 的目錄分隔符。 |
| ConflictOption |
指定 ConflictOption 要被 使用的 DbCommandBuilder。 |
| Container |
得到 IContainer 包含 Component的 。 (繼承來源 Component) |
| DataAdapter |
取得或設定一個 DbDataAdapter 物件,該物件會自動產生 Transact-SQL 語句。 |
| DesignMode |
會得到一個值,表示目前 Component 是否處於設計模式。 (繼承來源 Component) |
| Events |
會取得與此 Component連結的事件處理程序清單。 (繼承來源 Component) |
| QuotePrefix |
取得或設定在指定資料庫物件(例如資料表或欄位)時,名稱包含空格或保留標記等字元的開頭字元。 |
| QuoteSuffix |
在指定資料庫物件(例如資料表或欄位)時,取得或設定包含空格或保留標記等字元的結尾字元。 |
| SchemaSeparator |
取得或設定用於結構識別碼與其他識別碼分隔符的字元。 |
| SetAllValues |
指定更新語句中所有欄位值是否包含,或僅包含變更欄位。 |
| Site | (繼承來源 Component) |
方法
事件
| 名稱 | Description |
|---|---|
| Disposed |
當元件被呼叫方法 Dispose() 時會發生。 (繼承來源 Component) |