SqlCommandBuilder SqlCommandBuilder SqlCommandBuilder SqlCommandBuilder Class

Definizione

Consente la generazione automatica di comandi di tabella singola per risolvere le modifiche apportate a un oggetto DataSet con il database SQL Server associato.Automatically generates single-table commands that are used to reconcile changes made to a DataSet with the associated SQL Server database. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
    inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
Ereditarietà

Esempi

Nell'esempio seguente viene utilizzato SqlCommand, SqlConnectioninsieme SqlDataAdapter a, per selezionare le righe da un'origine dati.The following example uses the SqlCommand, along SqlDataAdapter and SqlConnection, to select rows from a data source. All'esempio viene passata una stringa di connessione, una stringa di query che è un'istruzione Transact-SQL SELECT e una stringa che rappresenta il nome della tabella di database.The example is passed a connection string, a query string that is a Transact-SQL SELECT statement, and a string that is the name of the database table. Nell'esempio viene quindi creato SqlCommandBuilderun oggetto.The example then creates a SqlCommandBuilder.

public static DataSet SelectSqlRows(string connectionString,
    string queryString, string tableName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(queryString, connection);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

        connection.Open();

        DataSet dataSet = new DataSet();
        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        builder.GetUpdateCommand();

        //Without the SqlCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        return dataSet;
    }
}
Private Function SelectSqlRows(ByVal connectionString As String, _
    ByVal queryString As String, ByVal tableName As String) As DataSet

    Using connection As New SqlConnection(connectionString)

        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand(queryString, connection)
        Dim builder As SqlCommandBuilder = New SqlCommandBuilder(adapter)

        connection.Open()

        Dim dataSet As DataSet = New DataSet
        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the SqlCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)

        Return dataSet
    End Using
End Function

Commenti

Non genera automaticamente le istruzioni Transact-SQL necessarie per riconciliare le modifiche apportate DataSet a un oggetto con l'istanza associata di SQL Server. SqlDataAdapterThe SqlDataAdapter does not automatically generate the Transact-SQL statements required to reconcile changes made to a DataSet with the associated instance of SQL Server. Tuttavia, è possibile creare un SqlCommandBuilder oggetto per generare automaticamente istruzioni Transact-SQL per gli aggiornamenti di una singola tabella se si SelectCommand imposta la proprietà SqlDataAdapterdell'oggetto.However, you can create a SqlCommandBuilder object to automatically generate Transact-SQL statements for single-table updates if you set the SelectCommand property of the SqlDataAdapter. Quindi, eventuali istruzioni Transact-SQL aggiuntive non impostate vengono generate da SqlCommandBuilder.Then, any additional Transact-SQL statements that you do not set are generated by the SqlCommandBuilder.

Si registra come listener per RowUpdating gli eventi quando si imposta la DataAdapter proprietà. SqlCommandBuilderThe SqlCommandBuilder registers itself as a listener for RowUpdating events whenever you set the DataAdapter property. È possibile associare uno SqlDataAdapter o SqlCommandBuilder più oggetti contemporaneamente.You can only associate one SqlDataAdapter or SqlCommandBuilder object with each other at one time.

Per generare istruzioni INSERT, Update o DELETE, SqlCommandBuilder utilizza la SelectCommand proprietà per recuperare automaticamente un set di metadati richiesto.To generate INSERT, UPDATE, or DELETE statements, the SqlCommandBuilder uses the SelectCommand property to retrieve a required set of metadata automatically. Se si modifica il SelectCommand dopo aver recuperato i metadati, ad esempio dopo il primo aggiornamento, è necessario chiamare il RefreshSchema metodo per aggiornare i metadati.If you change the SelectCommand after the metadata has been retrieved, such as after the first update, you should call the RefreshSchema method to update the metadata.

È inoltre necessario che SelectCommand restituisca almeno una chiave primaria o una colonna univoca.The SelectCommand must also return at least one primary key or unique column. Se non è presente alcun oggetto, viene generata un'eccezione invalidOperation e i comandi non vengono generati.If none are present, an InvalidOperation exception is generated, and the commands are not generated.

Connection SelectCommandUsa inoltre le proprietà, CommandTimeout eTransaction a cui fa riferimento l'oggetto. SqlCommandBuilderThe SqlCommandBuilder also uses the Connection, CommandTimeout, and Transaction properties referenced by the SelectCommand. L'utente deve chiamare RefreshSchema se una o più di queste proprietà vengono modificate o SelectCommand se viene sostituito.The user should call RefreshSchema if one or more of these properties are modified, or if the SelectCommand itself is replaced. In caso InsertCommandcontrario UpdateCommand, le DeleteCommand proprietà, e mantengono i valori precedenti.Otherwise the InsertCommand, UpdateCommand, and DeleteCommand properties retain their previous values.

Se si chiama Dispose, l' SqlCommandBuilder oggetto SqlDataAdapterviene dissociato da e i comandi generati non vengono più utilizzati.If you call Dispose, the SqlCommandBuilder is disassociated from the SqlDataAdapter, and the generated commands are no longer used.

Costruttori

SqlCommandBuilder() SqlCommandBuilder() SqlCommandBuilder() SqlCommandBuilder()

Inizializza una nuova istanza della classe SqlCommandBuilder.Initializes a new instance of the SqlCommandBuilder class.

SqlCommandBuilder(SqlDataAdapter) SqlCommandBuilder(SqlDataAdapter) SqlCommandBuilder(SqlDataAdapter) SqlCommandBuilder(SqlDataAdapter)

Inizializza una nuova istanza della classe SqlCommandBuilder con l'oggetto SqlDataAdapter associato.Initializes a new instance of the SqlCommandBuilder class with the associated SqlDataAdapter object.

Proprietà

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
CatalogLocation CatalogLocation CatalogLocation CatalogLocation

Ottiene o imposta l'oggetto CatalogLocation per un'istanza della classe SqlCommandBuilder.Sets or gets the CatalogLocation for an instance of the SqlCommandBuilder class.

CatalogSeparator CatalogSeparator CatalogSeparator CatalogSeparator

Ottiene o imposta una stringa utilizzata come separatore di catalogo per un'istanza della classe SqlCommandBuilder.Sets or gets a string used as the catalog separator for an instance of the SqlCommandBuilder class.

Container Container Container Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Inherited from Component)
DataAdapter DataAdapter DataAdapter DataAdapter

Ottiene o imposta un oggetto SqlDataAdapter per il quale sono generate automaticamente istruzioni Transact-SQL.Gets or sets a SqlDataAdapter object for which Transact-SQL statements are automatically generated.

DesignMode DesignMode DesignMode DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
QuotePrefix QuotePrefix QuotePrefix QuotePrefix

Ottiene o imposta il carattere o i caratteri iniziali da utilizzare quando si specificano oggetti di database SQL Server, ad esempio tabelle o colonne, i cui nomi contengono caratteri quali spazi o token riservati.Gets or sets the starting character or characters to use when specifying SQL Server database objects, such as tables or columns, whose names contain characters such as spaces or reserved tokens.

QuoteSuffix QuoteSuffix QuoteSuffix QuoteSuffix

Ottiene o imposta il carattere o i caratteri finali da utilizzare quando si specificano oggetti di database SQL Server, ad esempio tabelle o colonne, i cui nomi contengono caratteri quali spazi o token riservati.Gets or sets the ending character or characters to use when specifying SQL Server database objects, such as tables or columns, whose names contain characters such as spaces or reserved tokens.

SchemaSeparator SchemaSeparator SchemaSeparator SchemaSeparator

Ottiene o imposta il carattere da utilizzare come separatore tra l'identificatore di schema e altri identificatori.Gets or sets the character to be used for the separator between the schema identifier and any other identifiers.

Site Site Site Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Inherited from Component)

Metodi

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
DeriveParameters(SqlCommand) DeriveParameters(SqlCommand) DeriveParameters(SqlCommand) DeriveParameters(SqlCommand)

Recupera le informazioni sui parametri dalla stored procedure specificata nella classe SqlCommand e compila l'insieme Parameters dell'oggetto SqlCommand specificato.Retrieves parameter information from the stored procedure specified in the SqlCommand and populates the Parameters collection of the specified SqlCommand object.

Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDeleteCommand() GetDeleteCommand() GetDeleteCommand() GetDeleteCommand()

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di eliminazione nel database.Gets the automatically generated SqlCommand object required to perform deletions on the database.

GetDeleteCommand(Boolean) GetDeleteCommand(Boolean) GetDeleteCommand(Boolean) GetDeleteCommand(Boolean)

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di eliminazione nel database.Gets the automatically generated SqlCommand object that is required to perform deletions on the database.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetInsertCommand() GetInsertCommand() GetInsertCommand() GetInsertCommand()

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di inserimento nel database.Gets the automatically generated SqlCommand object required to perform insertions on the database.

GetInsertCommand(Boolean) GetInsertCommand(Boolean) GetInsertCommand(Boolean) GetInsertCommand(Boolean)

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di inserimento nel database.Gets the automatically generated SqlCommand object that is required to perform insertions on the database.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
GetUpdateCommand() GetUpdateCommand() GetUpdateCommand() GetUpdateCommand()

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di aggiornamento nel database.Gets the automatically generated SqlCommand object required to perform updates on the database.

GetUpdateCommand(Boolean) GetUpdateCommand(Boolean) GetUpdateCommand(Boolean) GetUpdateCommand(Boolean)

Ottiene l'oggetto SqlCommand generato automaticamente, richiesto per eseguire le operazioni di aggiornamento nel database.Gets the automatically generated SqlCommand object required to perform updates on the database.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
QuoteIdentifier(String) QuoteIdentifier(String) QuoteIdentifier(String) QuoteIdentifier(String)

Un identificatore senza virgolette con la lettera maiuscola o minuscola corretta per il catalogo, restituisce il form con virgolette corretto dell'identificatore.Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. Ciò implica il sottoporre a escape in modo corretto eventuali virgolette nell'identificatore.This includes correctly escaping any embedded quotes in the identifier.

RefreshSchema() RefreshSchema() RefreshSchema() RefreshSchema()

Elimina i comandi associati a questo generatore di comandi.Clears the commands that are associated with this command builder.

ToString() ToString() ToString() ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Inherited from Component)
UnquoteIdentifier(String) UnquoteIdentifier(String) UnquoteIdentifier(String) UnquoteIdentifier(String)

Un identificatore con virgolette, restituisce il form senza virgolette corretto relativo all'identificatore.Given a quoted identifier, returns the correct unquoted form of that identifier. In tal modo viene inoltre ripristinata in modo corretto la condizione precedente di virgolette eventualmente presenti nell'identificatore sottoposte a escape.This includes correctly unescaping any embedded quotes in the identifier.

Eventi

Disposed Disposed Disposed Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Si applica a

Vedi anche