Condividi tramite


OdbcCommandBuilder Classe

Definizione

Genera automaticamente comandi di tabella singola utilizzati per risolvere le modifiche apportate a una classe DataSet con l'origine dati associata. La classe non può essere ereditata.

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
Ereditarietà
Ereditarietà
OdbcCommandBuilder

Esempio

L'esempio seguente usa OdbcCommand, insieme a OdbcDataAdapter e OdbcConnection, per selezionare le righe da un'origine dati. Nell'esempio viene passato un oggetto inizializzato DataSet, un stringa di connessione, una stringa di query che è un'istruzione SQL SELECT e una stringa che rappresenta il nome della tabella dell'origine dati. L'esempio crea quindi un oggetto 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

Commenti

Non OdbcDataAdapter genera automaticamente le istruzioni SQL necessarie per riconciliare le modifiche apportate a un DataSet oggetto associato all'origine dati. È tuttavia possibile creare un OdbcCommandBuilder oggetto che genera istruzioni SQL per gli aggiornamenti a tabella singola impostando la SelectCommand proprietà di OdbcDataAdapter. Genera OdbcCommandBuilder quindi eventuali istruzioni SQL aggiuntive non impostate.

La relazione tra un OdbcDataAdapter oggetto e il corrispondente OdbcCommandBuilder è sempre uno-a-uno. Per creare questa corrispondenza, impostare la OdbcDataAdapter proprietà dell'oggetto OdbcCommandBuilder . In questo modo l'oggetto OdbcCommandBuilder viene registrato come listener, che produce l'output degli RowUpdating eventi che influiscono su DataSet.

Per generare istruzioni INSERT, UPDATE o DELETE, OdbcCommandBuilder viene utilizzata la SelectCommand proprietà per recuperare un set di metadati richiesto. Se si modifica il valore di SelectCommand dopo il recupero dei metadati, ad esempio dopo il primo aggiornamento, è necessario chiamare il RefreshSchema metodo per aggiornare i metadati.

Nota

Se l'istruzione SELECT assegnata alla SelectCommand proprietà utilizza nomi di colonna con alias, le istruzioni INSERT, UPDATE e DELETE risultanti potrebbero non essere accurate o non corrette. Se il driver ODBC sottostante non può fornire il nome di colonna di base appropriato per il nome della colonna alias (utilizzando il valore SQL_DESC_BASE_COLUMN_NAME di SQLColAttribute), è possibile usare il nome dell'alias nelle istruzioni INSERT, UPDATE e DELETE generate. Ad esempio, Microsoft ODBC Driver for Oracle restituisce il nome dell'alias come nome della colonna di base. Pertanto, le istruzioni INSERT, UPDATE e DELETE generate genererebbero errori.

Vengono OdbcCommandBuilder inoltre utilizzate le Connectionproprietà , CommandTimeoute Transaction a cui fa riferimento l'oggetto SelectCommand. L'utente deve chiamare RefreshSchema se una o più di queste proprietà vengono modificate o se il valore della SelectCommand proprietà stessa viene modificato. In caso contrario, le InsertCommandproprietà , UpdateCommande DeleteCommand mantengono i valori precedenti.

Se si chiama Dispose, l'oggetto OdbcCommandBuilder viene disassociato da OdbcDataAdaptere i comandi generati non vengono più usati.

Costruttori

OdbcCommandBuilder()

Inizializza una nuova istanza della classe OdbcCommandBuilder.

OdbcCommandBuilder(OdbcDataAdapter)

Inizializza una nuova istanza della classe OdbcCommandBuilder con l'oggetto OdbcDataAdapter associato.

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
CatalogLocation

Ottiene o imposta il valore CatalogLocation per un'istanza della classe DbCommandBuilder.

(Ereditato da DbCommandBuilder)
CatalogSeparator

Ottiene o imposta una stringa usata come separatore di catalogo per un'istanza della classe DbCommandBuilder.

(Ereditato da DbCommandBuilder)
ConflictOption

Specifica quale enumerazione ConflictOption deve essere utilizzata dalla classe DbCommandBuilder.

(Ereditato da DbCommandBuilder)
Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
DataAdapter

Ottiene o imposta un oggetto OdbcDataAdapter per il quale questo oggetto OdbcCommandBuilder genererà istruzioni SQL.

DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.

(Ereditato da Component)
QuotePrefix

Ottiene o imposta il carattere o i caratteri iniziali da usare quando si utilizzano oggetti di database, ad esempio tabelle o colonne, con nomi che contengono caratteri quali spazi o token riservati.

QuotePrefix

Ottiene o imposta il carattere o i caratteri iniziali da utilizzare quando si specificano oggetti di database, ad esempio tabelle o colonne, i cui nomi contengono caratteri quali spazi o token riservati.

(Ereditato da DbCommandBuilder)
QuoteSuffix

Ottiene o imposta il carattere o i caratteri finali da usare quando si utilizzano oggetti di database, ad esempio tabelle o colonne, con nomi che contengono caratteri quali spazi o token riservati.

QuoteSuffix

Ottiene o imposta il carattere o i caratteri finali da utilizzare quando si specificano oggetti di database, ad esempio tabelle o colonne, i cui nomi contengono caratteri quali spazi o token riservati.

(Ereditato da DbCommandBuilder)
SchemaSeparator

Ottiene o imposta il carattere da utilizzare come separatore tra l'identificatore di schema e altri identificatori.

(Ereditato da DbCommandBuilder)
SetAllValues

Specifica se in un'istruzione di aggiornamento sono inclusi tutti i valori delle colonne o soltanto quelli modificati.

(Ereditato da DbCommandBuilder)
Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)

Metodi

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Attiva l'implementazione del provider per la classe DbCommandBuilder per consentire la gestione di proprietà aggiuntive dei parametri.

(Ereditato da DbCommandBuilder)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
DeriveParameters(OdbcCommand)

Recupera le informazioni sui parametri dalla stored procedure specificata nella classe OdbcCommand e compila l'insieme Parameters dell'oggetto OdbcCommand specificato.

Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da DbCommandBuilder e, facoltativamente, le risorse gestite.

(Ereditato da DbCommandBuilder)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.

(Ereditato da Component)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetDeleteCommand()

Ottiene l'oggetto OdbcCommand generato automaticamente, richiesto per eseguire le operazioni di eliminazione nell'origine dati.

GetDeleteCommand(Boolean)

Ottiene l'oggetto OdbcCommand generato automaticamente, richiesto per eseguire le operazioni di eliminazione nell'origine dati.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetInsertCommand()

Ottiene l'oggetto OdbcCommand generato automaticamente, richiesto per eseguire le operazioni di inserimento nell'origine dati.

GetInsertCommand(Boolean)

Ottiene l'oggetto OdbcCommand generato automaticamente, richiesto per eseguire le operazioni di inserimento nell'origine dati.

GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetParameterName(Int32)

Restituisce il nome del parametro specificato nel formato .@p# Da utilizzare quando si compila un generatore di comandi personalizzato.

(Ereditato da DbCommandBuilder)
GetParameterName(String)

Restituisce il nome completo del parametro, dato il suo nome parziale.

(Ereditato da DbCommandBuilder)
GetParameterPlaceholder(Int32)

Restituisce il segnaposto del parametro nell'istruzione SQL associata.

(Ereditato da DbCommandBuilder)
GetSchemaTable(DbCommand)

Restituisce la tabella dello schema della classe DbCommandBuilder.

(Ereditato da DbCommandBuilder)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUpdateCommand()

Ottiene l'oggetto OdbcCommand generato automaticamente richiesto per eseguire le operazioni di aggiornamento nell'origine dati.

GetUpdateCommand(Boolean)

Ottiene l'oggetto OdbcCommand generato automaticamente richiesto per eseguire le operazioni di aggiornamento nell'origine dati.

InitializeCommand(DbCommand)

Reimposta le proprietà CommandTimeout, Transaction, CommandType e UpdateRowSource sul valore DbCommand.

(Ereditato da DbCommandBuilder)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
QuoteIdentifier(String, OdbcConnection)

Un identificatore senza virgolette con la lettera maiuscola o minuscola corretta per il catalogo, restituisce il form con virgolette corretto dell'identificatore. Ciò implica il sottoporre a escape in modo corretto eventuali virgolette nell'identificatore.

QuoteIdentifier(String)

Un identificatore senza virgolette con la lettera maiuscola o minuscola corretta per il catalogo, restituisce il form con virgolette corretto dell'identificatore. Ciò implica il sottoporre a escape in modo corretto eventuali virgolette nell'identificatore.

RefreshSchema()

Elimina i comandi associati all'oggetto OdbcCommandBuilder.

RefreshSchema()

Elimina i comandi associati all'oggetto DbCommandBuilder.

(Ereditato da DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Aggiunge un gestore eventi per l'evento RowUpdating.

(Ereditato da DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Registra l'oggetto DbCommandBuilder per gestire l'evento RowUpdating per un oggetto DbDataAdapter.

(Ereditato da DbCommandBuilder)
ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)
UnquoteIdentifier(String, OdbcConnection)

Dato un identificatore con virgolette, restituisce la forma senza virgolette corretta dell'identificatore, ripristinando correttamente la condizione precedente di virgolette eventualmente presenti nell'identificatore sottoposte a escape.

UnquoteIdentifier(String)

Dato un identificatore con virgolette, restituisce la forma senza virgolette corretta dell'identificatore, ripristinando correttamente la condizione precedente di virgolette eventualmente presenti nell'identificatore sottoposte a escape.

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().

(Ereditato da Component)

Si applica a

Vedi anche