共用方式為


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 不會自動產生 SQL 陳述式,以將對 a DataSet 的變更與相關資料來源進行調和。 不過,如果你設定 SelectCommand 的屬性OleDbDataAdapter,可以建立OleDbCommandBuilder物件,自動產生單資料表更新的 SQL 語句。 然後,任何你未設定的額外 SQL 語句會由 OleDbCommandBuilder產生。

當你設定DataAdapter屬性時,它OleDbCommandBuilder會自動註冊為事件的監聽者RowUpdating。 你一次只能將其中一個 OleDbDataAdapterOleDbCommandBuilder 物件彼此關聯起來。

為了產生 INSERT、UPDATE 或 DELETE 語句,會 OleDbCommandBuilder 使用 該 SelectCommand 屬性自動取得所需的元資料集合。 如果你在元資料取得後才更改, SelectCommand 例如第一次更新後,你應該呼叫 RefreshSchema 更新元資料的方法。

OleDbCommandBuilder 使用 Connection了 、 CommandTimeout以及 TransactionSelectCommand參考的屬性。 如果這些屬性中有一個或多個被修改,或SelectCommand是本身被替換,使用者應該呼叫RefreshSchema。 否則 InsertCommandUpdateCommand、 和 DeleteCommand 屬性將保留先前的值。

如果你呼叫 Dispose,則 OleDbCommandBuilder 與 分離 OleDbDataAdapter,產生的指令不再使用。

建構函式

名稱 Description
OleDbCommandBuilder()

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

OleDbCommandBuilder(OleDbDataAdapter)

初始化一個帶有相關OleDbDataAdapter物件的新類別實例OleDbCommandBuilder

屬性

名稱 Description
CanRaiseEvents

會得到一個值,表示該元件是否能引發事件。

(繼承來源 Component)
CatalogLocation

取得或設定 CatalogLocation 該類別的實例 DbCommandBuilder

(繼承來源 DbCommandBuilder)
CatalogSeparator

取得或設定一個字串,作為類別實例 DbCommandBuilder 的目錄分隔符。

(繼承來源 DbCommandBuilder)
ConflictOption

指定 ConflictOption 要被 使用的 DbCommandBuilder

(繼承來源 DbCommandBuilder)
Container

得到 IContainer 包含 Component的 。

(繼承來源 Component)
DataAdapter

取得或設定一個 OleDbDataAdapter 物件,該物件會自動產生 SQL 語句。

DesignMode

會得到一個值,表示目前 Component 是否處於設計模式。

(繼承來源 Component)
Events

會取得與此 Component連結的事件處理程序清單。

(繼承來源 Component)
QuotePrefix

取得或設定在指定資料庫物件(例如資料表或欄位)時,名稱包含空格或保留標記等字元的開頭字元。

QuotePrefix

取得或設定在指定資料庫物件(例如資料表或欄位)時,名稱包含空格或保留標記等字元的開頭字元。

(繼承來源 DbCommandBuilder)
QuoteSuffix

在指定資料庫物件(例如資料表或欄位)時,取得或設定包含空格或保留標記等字元的結尾字元。

QuoteSuffix

在指定資料庫物件(例如資料表或欄位)時,取得或設定包含空格或保留標記等字元的結尾字元。

(繼承來源 DbCommandBuilder)
SchemaSeparator

取得或設定用於結構識別碼與其他識別碼分隔符的字元。

(繼承來源 DbCommandBuilder)
SetAllValues

指定更新語句中所有欄位值是否包含,或僅包含變更欄位。

(繼承來源 DbCommandBuilder)
Site

取得或設定 ISiteComponent

(繼承來源 Component)

方法

名稱 Description
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

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

(繼承來源 DbCommandBuilder)
CreateObjRef(Type)

建立一個物件,包含產生代理伺服器所需的所有相關資訊,用於與遠端物件通訊。

(繼承來源 MarshalByRefObject)
DeriveParameters(OleDbCommand)

從指定於 的 OleDbCommand 儲存程序中取得參數資訊,並填充 Parameters 指定 OleDbCommand 物件的集合。

Dispose()

釋放所有由 Component.

(繼承來源 Component)
Dispose(Boolean)

釋放 未管理的資源, DbCommandBuilder 並可選擇性地釋放受管理資源。

(繼承來源 DbCommandBuilder)
Dispose(Boolean)

釋放 未管理的資源, Component 並可選擇性地釋放受管理資源。

(繼承來源 Component)
Equals(Object)

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

(繼承來源 Object)
GetDeleteCommand()

取得自動產生 OleDbCommand 的物件,用於在資料來源執行刪除。

GetDeleteCommand(Boolean)

取得自動產生 OleDbCommand 的物件,用於在資料來源執行刪除。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetInsertCommand()

取得自動產生 OleDbCommand 的物件,用於在資料來源執行插入。

GetInsertCommand(Boolean)

取得自動產生 OleDbCommand 的物件,用於在資料來源執行插入。

GetLifetimeService()
已淘汰.

取得目前控制此實例生命週期政策的終身服務物件。

(繼承來源 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)

重置 CommandTimeoutTransactionCommandTypeUpdateRowSource 屬性。DbCommand

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

取得一個終身服務物件以控制此實例的終身政策。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立一個 MarshalByRefObject 目前物件的淺層複製品。

(繼承來源 MarshalByRefObject)
QuoteIdentifier(String, OleDbConnection)

給定正確目錄中未引號的識別碼,回傳該識別碼的正確引號形式。 這包括正確跳脫識別碼中嵌入的引號。

QuoteIdentifier(String)

給定正確目錄中未引號的識別碼,回傳該識別碼的正確引號形式。 這包括正確跳脫識別碼中嵌入的引號。

RefreshSchema()

清除與此 OleDbCommandBuilder相關指令。

RefreshSchema()

清除與此 DbCommandBuilder相關指令。

(繼承來源 DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

新增事件處理程式。RowUpdating

(繼承來源 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

註冊 以DbCommandBuilder處理RowUpdating事件。DbDataAdapter

(繼承來源 DbCommandBuilder)
ToString()

回傳 String 包含 的名稱 Component(若有的話)。 此方法不應被覆蓋。

(繼承來源 Component)
UnquoteIdentifier(String, OleDbConnection)

給定引號識別碼, 回傳該識別碼的正確無引號形式。 這包括正確地解除識別碼中嵌入的引號。

UnquoteIdentifier(String)

給定引號識別碼, 回傳該識別碼的正確無引號形式。 這包括正確地解除識別碼中嵌入的引號。

事件

名稱 Description
Disposed

當元件被呼叫方法 Dispose() 時會發生。

(繼承來源 Component)

適用於

另請參閱