Sdílet prostřednictvím


OdbcCommandBuilder Třída

Definice

Automaticky vygeneruje příkazy s jednou tabulkou, které slouží k odsouhlasení změn provedených DataSet u přidruženého zdroje dat. Tuto třídu nelze zdědit.

public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OdbcCommandBuilder sealed : System::ComponentModel::Component
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OdbcCommandBuilder : System.ComponentModel.Component
type OdbcCommandBuilder = class
    inherit DbCommandBuilder
type OdbcCommandBuilder = class
    inherit Component
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits Component
Dědičnost
Dědičnost
OdbcCommandBuilder

Příklady

Následující příklad používá OdbcCommandspolečně s OdbcDataAdapter a OdbcConnectionk výběru řádků ze zdroje dat. Příklad se předá inicializovanému DataSetpřipojovacímu řetězci, řetězci dotazu, který je příkazem SQL SELECT, a řetězec, který je názvem tabulky zdroje dat. Příklad pak vytvoří .OdbcCommandBuilder

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

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

    Return dataSet
End Function

Poznámky

Negeneruje OdbcDataAdapter automaticky příkazy SQL potřebné k odsouhlasení změn provedených ve DataSet zdroji dat přidruženém ke zdroji dat. Můžete však vytvořit OdbcCommandBuilder objekt, který generuje příkazy SQL pro aktualizace s jednou tabulkou nastavením SelectCommand vlastnosti OdbcDataAdapter. Potom OdbcCommandBuilder vygeneruje všechny další příkazy SQL, které nenastavíte.

Vztah mezi a jeho odpovídajícím OdbcCommandBuilder vztahem OdbcDataAdapter je vždy 1:1. Chcete-li vytvořit tuto korespondenci, nastavíte OdbcDataAdapter vlastnost objektu OdbcCommandBuilder . To způsobí OdbcCommandBuilder , že se zaregistruje jako naslouchací proces, který vytvoří výstup událostí RowUpdating , které ovlivňují DataSet.

K vygenerování OdbcCommandBuilder příkazů INSERT, UPDATE nebo DELETE používá SelectCommand vlastnost k načtení požadované sady metadat. Pokud změníte hodnotu SelectCommand po načtení metadat, například po první aktualizaci, měli byste volat metodu RefreshSchema pro aktualizaci metadat.

Poznámka:

Pokud příkaz SELECT přiřazený k SelectCommand vlastnosti používá aliasované názvy sloupců, výsledné příkazy INSERT, UPDATE a DELETE mohou být nepřesné nebo selžou. Pokud základní ovladač ODBC nemůže zadat odpovídající název základního sloupce pro název sloupce aliasu (pomocí SQL_DESC_BASE_COLUMN_NAME hodnoty SQLColAttribute), název aliasu lze použít ve vygenerovaných příkazech INSERT, UPDATE a DELETE. Například ovladač Microsoft ODBC pro Oracle vrátí název aliasu jako název základního sloupce. Proto vygenerované příkazy INSERT, UPDATE a DELETE způsobí chyby.

Také OdbcCommandBuilder používá Connection, CommandTimeouta Transaction vlastnosti odkazované .SelectCommand Uživatel by měl volat RefreshSchema , pokud se změní jedna nebo více těchto vlastností nebo pokud se změní hodnota SelectCommand samotné vlastnosti. InsertCommand UpdateCommandV opačném případě , a DeleteCommand vlastnosti zachovat jejich předchozí hodnoty.

Pokud voláte Dispose, OdbcCommandBuilder je přidružení od objektu OdbcDataAdaptera vygenerované příkazy se už nepoužívají.

Konstruktory

Name Description
OdbcCommandBuilder()

Inicializuje novou instanci OdbcCommandBuilder třídy.

OdbcCommandBuilder(OdbcDataAdapter)

Inicializuje novou instanci OdbcCommandBuilder třídy s přidruženým OdbcDataAdapter objektem.

Vlastnosti

Name Description
CanRaiseEvents

Získá hodnotu určující, zda komponenta může vyvolat událost.

(Zděděno od Component)
CatalogLocation

Získá nebo nastaví CatalogLocation instanci DbCommandBuilder třídy.

(Zděděno od DbCommandBuilder)
CatalogSeparator

Získá nebo nastaví řetězec použitý jako oddělovač katalogu pro instanci DbCommandBuilder třídy.

(Zděděno od DbCommandBuilder)
ConflictOption

Určuje, který ConflictOption parametr má používat DbCommandBuilder.

(Zděděno od DbCommandBuilder)
Container

Získá ten IContainer , který obsahuje Component.

(Zděděno od Component)
DataAdapter

Získá nebo nastaví OdbcDataAdapter objekt, pro který tento OdbcCommandBuilder objekt vygeneruje příkazy SQL.

DesignMode

Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu.

(Zděděno od Component)
Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
QuotePrefix

Získá nebo nastaví počáteční znak nebo znaky, které se mají použít při práci s databázovými objekty (například tabulky nebo sloupce), jejichž názvy obsahují znaky, jako jsou mezery nebo rezervované tokeny.

QuotePrefix

Získá nebo nastaví počáteční znak nebo znaky, které se mají použít při zadávání databázových objektů (například tabulek nebo sloupců), jejichž názvy obsahují znaky, jako jsou mezery nebo rezervované tokeny.

(Zděděno od DbCommandBuilder)
QuoteSuffix

Získá nebo nastaví koncový znak nebo znaky, které se mají použít při práci s databázovými objekty (například tabulky nebo sloupce), jejichž názvy obsahují znaky, jako jsou mezery nebo rezervované tokeny.

QuoteSuffix

Získá nebo nastaví koncový znak nebo znaky, které se mají použít při zadávání databázových objektů (například tabulek nebo sloupců), jejichž názvy obsahují znaky, jako jsou mezery nebo rezervované tokeny.

(Zděděno od DbCommandBuilder)
SchemaSeparator

Získá nebo nastaví znak, který se má použít pro oddělovač mezi identifikátorem schématu a jinými identifikátory.

(Zděděno od DbCommandBuilder)
SetAllValues

Určuje, zda jsou zahrnuty všechny hodnoty sloupců v příkazu update nebo pouze změněny.

(Zděděno od DbCommandBuilder)
Site

Získá nebo nastaví ISite .Component

(Zděděno od Component)

Metody

Name Description
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Umožňuje implementaci DbCommandBuilder zprostředkovatele třídy zpracovat další vlastnosti parametru.

(Zděděno od DbCommandBuilder)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
DeriveParameters(OdbcCommand)

Načte informace o parametrech z uložené procedury zadané v OdbcCommand kolekci zadaného objektu a naplní Parameters kolekci zadaného OdbcCommand objektu.

Dispose()

Uvolní všechny prostředky používané nástrojem Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané DbCommandBuilder a volitelně uvolní spravované prostředky.

(Zděděno od DbCommandBuilder)
Dispose(Boolean)

Uvolní nespravované prostředky používané Component a volitelně uvolní spravované prostředky.

(Zděděno od Component)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetDeleteCommand()

Získá automaticky vygenerovaný objekt vyžadovaný OdbcCommand k odstranění ve zdroji dat.

GetDeleteCommand(Boolean)

Získá automaticky vygenerovaný objekt vyžadovaný OdbcCommand k odstranění ve zdroji dat.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetInsertCommand()

Získá automaticky vygenerovaný OdbcCommand objekt potřebný k provedení vložení ve zdroji dat.

GetInsertCommand(Boolean)

Získá automaticky vygenerovaný OdbcCommand objekt potřebný k provedení vložení ve zdroji dat.

GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetParameterName(Int32)

Vrátí název zadaného parametru ve formátu @p#. Používá se při vytváření vlastního tvůrce příkazů.

(Zděděno od DbCommandBuilder)
GetParameterName(String)

Vrátí úplný název parametru vzhledem k částečnému názvu parametru.

(Zděděno od DbCommandBuilder)
GetParameterPlaceholder(Int32)

Vrátí zástupný symbol pro parametr v přidruženém příkazu SQL.

(Zděděno od DbCommandBuilder)
GetSchemaTable(DbCommand)

Vrátí tabulku schématu pro objekt DbCommandBuilder.

(Zděděno od DbCommandBuilder)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jeho Container.

(Zděděno od Component)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetUpdateCommand()

Získá automaticky vygenerovaný OdbcCommand objekt potřebný k provádění aktualizací ve zdroji dat.

GetUpdateCommand(Boolean)

Získá automaticky vygenerovaný OdbcCommand objekt potřebný k provádění aktualizací ve zdroji dat.

InitializeCommand(DbCommand)

Obnoví hodnotu CommandTimeout, Transaction, CommandTypea UpdateRowSource vlastnosti v objektu DbCommand.

(Zděděno od DbCommandBuilder)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
QuoteIdentifier(String, OdbcConnection)

Vzhledem k necitovanému identifikátoru ve správném případě katalogu vrátí správnou uvozovou formu tohoto identifikátoru. To zahrnuje správné zapouzdření všech vložených uvozovek v identifikátoru.

QuoteIdentifier(String)

Vzhledem k necitovanému identifikátoru ve správném případě katalogu vrátí správnou uvozovou formu tohoto identifikátoru. To zahrnuje správné zapouzdření všech vložených uvozovek v identifikátoru.

RefreshSchema()

Vymaže příkazy přidružené k tomuto OdbcCommandBuilderpříkazu .

RefreshSchema()

Vymaže příkazy přidružené k tomuto DbCommandBuilderpříkazu .

(Zděděno od DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Přidá obslužnou rutinu RowUpdating události pro událost.

(Zděděno od DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Zaregistruje událost DbCommandBuilderRowUpdating pro DbDataAdapterzpracování události .

(Zděděno od DbCommandBuilder)
ToString()

String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)
UnquoteIdentifier(String, OdbcConnection)

Vzhledem k identifikátoru v uvozovkách vrátí správnou necitovanou formu tohoto identifikátoru, včetně správné zrušení zapouzdření všech vložených uvozovek v identifikátoru.

UnquoteIdentifier(String)

Vzhledem k identifikátoru v uvozovkách vrátí správnou necitovanou formu tohoto identifikátoru, včetně správné zrušení zapouzdření všech vložených uvozovek v identifikátoru.

Událost

Name Description
Disposed

Nastane, když komponenta je uvolněna voláním Dispose() metody.

(Zděděno od Component)

Platí pro

Viz také