SqlDataAdapter Classe

Definizione

Rappresenta un set di comandi dati e una connessione di database usati per riempire l'oggetto DataSet e aggiornare un database SQL Server. La classe non può essere ereditata.

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Ereditarietà
Implementazioni

Esempio

Nell'esempio SqlCommandseguente viene usato , SqlDataAdaptere SqlConnection per selezionare i record da un database e popolare un DataSet oggetto con le righe selezionate. Viene quindi restituito il riempimento DataSet . A tale scopo, al metodo viene passato un inizializzato DataSet, una stringa di connessione e una stringa di query che è un'istruzione Transact-SQL SELECT.

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString)
{
    using (SqlConnection connection =
        new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        adapter.Fill(dataset);
        return dataset;
    }
}
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function

Commenti

, SqlDataAdapterfunge da ponte tra un oggetto e SQL Server DataSet per il recupero e il salvataggio dei dati. Fornisce SqlDataAdapter questo bridge eseguendo il mapping Fill, che modifica i dati nell'oggetto DataSet in modo che corrispondano ai dati nell'origine dati e Update, che modifica i dati nell'origine dati in modo che corrispondano ai dati in DataSet, usando le istruzioni Transact-SQL appropriate sull'origine dati. L'aggiornamento viene eseguito per riga. Per ogni riga inserita, modificata ed eliminata, il Update metodo determina il tipo di modifica eseguita su di esso (Insert, Updateo Delete). A seconda del tipo di modifica, il Insertmodello di comando , Updateo Delete viene eseguito per propagare la riga modificata all'origine dati. Quando riempie SqlDataAdapter un DataSetoggetto , crea le tabelle e le colonne necessarie per i dati restituiti, se non esistono già. Tuttavia, le informazioni sulla chiave primaria non vengono incluse nello schema creato in modo implicito, a meno che la MissingSchemaAction proprietà non sia impostata su AddWithKey. È anche possibile creare lo SqlDataAdapter schema di DataSet, incluse le informazioni sulla chiave primaria, prima di compilarlo con i dati usando FillSchema. Per altre informazioni, vedere Aggiunta di vincoli esistenti a un set di dati.

SqlDataAdapterviene usato insieme SqlConnection a e SqlCommand per migliorare le prestazioni durante la connessione a un database SQL Server.

Nota

Se si usano stored procedure SQL Server per modificare o eliminare dati tramite DataAdapter, assicurarsi di non usare SET NOCOUNT ON nella definizione della stored procedure. Con tale comando il totale restituito delle righe interessate è pari a zero e tale situazione viene interpretata da DataAdapter come un conflitto di concorrenza. In questo caso verrà generata un'eccezione DBConcurrencyException.

Include SqlDataAdapter anche le SelectCommandproprietà , InsertCommand, DeleteCommandUpdateCommand, e TableMappings per facilitare il caricamento e l'aggiornamento dei dati.

Quando viene creata un'istanza di , le proprietà di SqlDataAdapter lettura/scrittura vengono impostate sui valori iniziali. Per un elenco di questi valori, vedere il SqlDataAdapter costruttore.

DeleteCommand, InsertCommande UpdateCommand sono modelli generici compilati automaticamente con singoli valori di ogni riga modificata tramite il meccanismo dei parametri.

Per ogni colonna propagata all'origine dati in Update, è necessario aggiungere un parametro a InsertCommand, UpdateCommando DeleteCommand. La SourceColumn proprietà dell'oggetto DbParameter deve essere impostata sul nome della colonna. Questa impostazione indica che il valore del parametro non è impostato manualmente, ma viene ricavato dalla colonna specifica nella riga attualmente elaborata.

Nota

Si InvalidOperationException verificherà se il Fill metodo viene chiamato e la tabella contiene un tipo definito dall'utente non disponibile nel computer client. Per altre informazioni, vedere Tipi CLR definiti dall'utente.

Costruttori

SqlDataAdapter()

Inizializza una nuova istanza della classe SqlDataAdapter.

SqlDataAdapter(SqlCommand)

Inizializza una nuova istanza della classe SqlDataAdapter con l'oggetto SqlCommand specificato come la proprietà SelectCommand.

SqlDataAdapter(String, SqlConnection)

Consente di inizializzare una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e un oggetto SqlConnection.

SqlDataAdapter(String, String)

Inizializza una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e una stringa di connessione

Campi

DefaultSourceTableName

Nome predefinito utilizzato dall'oggetto DataAdapter per i mapping di tabella.

(Ereditato da DbDataAdapter)

Proprietà

AcceptChangesDuringFill

Ottiene o imposta un valore che indica se il metodo AcceptChanges() viene chiamato per una classe DataRow dopo che questa è stata aggiunta alla classe DataTable, durante un'operazione del metodo Fill.

(Ereditato da DataAdapter)
AcceptChangesDuringUpdate

Ottiene o imposta se il metodo AcceptChanges() viene chiamato durante un metodo Update(DataSet).

(Ereditato da DataAdapter)
CanRaiseEvents

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

(Ereditato da Component)
Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
ContinueUpdateOnError

Ottiene o imposta un valore che specifica se generare un'eccezione quando viene rilevato un errore durante l'aggiornamento di una riga.

(Ereditato da DataAdapter)
DeleteCommand

Ottiene o imposta un'istruzione Transact-SQL o una stored procedure per eliminare i record dal DataSet.

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)
FillCommandBehavior

Ottiene o imposta il comportamento del comando utilizzato per riempire l'adattatore dati.

(Ereditato da DbDataAdapter)
FillLoadOption

Ottiene o imposta l'oggetto LoadOption che determina il modo in cui l'adattatore riempie l'oggetto DataTable dall'oggetto DbDataReader.

(Ereditato da DataAdapter)
InsertCommand

Ottiene o imposta un'istruzione Transact-SQL o una stored procedure per inserire nuovi record nell'origine dati.

MissingMappingAction

Determina l'operazione da eseguire quando per i dati in arrivo non è presente una tabella o una colonna corrispondente.

(Ereditato da DataAdapter)
MissingSchemaAction

Determina l'operazione da eseguire quando per lo schema DataSet esistente non esistono dati in arrivo corrispondenti.

(Ereditato da DataAdapter)
ReturnProviderSpecificTypes

Ottiene o imposta un valore che indica se il metodo Fill deve restituire valori specifici del provider o valori comuni conformi a CLS.

(Ereditato da DataAdapter)
SelectCommand

Ottiene o imposta un'istruzione Transact-SQL o una stored procedure per selezionare record nell'origine dati.

Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)
TableMappings

Ottiene una raccolta che fornisce il mapping primario tra una tabella di origine e un oggetto DataTable.

(Ereditato da DataAdapter)
UpdateBatchSize

Ottiene o imposta il numero di righe elaborate in ogni percorso andata-ritorno al server.

UpdateBatchSize

Ottiene o imposta un valore che attiva o disabilita il supporto dell'elaborazione batch e specifica il numero di comandi che è possibile eseguire in un batch.

(Ereditato da DbDataAdapter)
UpdateCommand

Ottiene o imposta un'istruzione Transact-SQL o una stored procedure per aggiornare record nell'origine dati.

Metodi

AddToBatch(IDbCommand)

Aggiunge un'interfaccia IDbCommand al batch corrente.

(Ereditato da DbDataAdapter)
ClearBatch()

Rimuove tutti gli oggetti IDbCommand dal batch.

(Ereditato da DbDataAdapter)
CloneInternals()
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.

Crea una copia di questa istanza di DataAdapter.

(Ereditato da DataAdapter)
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)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Inizializza una nuova istanza della classe RowUpdatedEventArgs.

(Ereditato da DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Inizializza una nuova istanza della classe RowUpdatingEventArgs.

(Ereditato da DbDataAdapter)
CreateTableMappings()

Crea un nuovo oggetto DataTableMappingCollection.

(Ereditato da DataAdapter)
Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

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

(Ereditato da DbDataAdapter)
Equals(Object)

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

(Ereditato da Object)
ExecuteBatch()

Esegue il batch corrente.

(Ereditato da DbDataAdapter)
Fill(DataSet)

Aggiunge o aggiorna righe nell'oggetto DataSet.

(Ereditato da DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet affinché corrispondano a quelle nell'origine dati mediante DataSet e i nomi di DataTable.

(Ereditato da DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet affinché corrispondano a quelle nell'origine dati utilizzando i nomi, la stringa di comando e le funzioni di comando dell'oggetto DataSet e della tabella di origine.

(Ereditato da DbDataAdapter)
Fill(DataSet, String)

Aggiunge o aggiorna righe in un oggetto DataSet affinché corrispondano a quelle nell'origine dati mediante l'oggetto DataSet e i relativi nomi DataTable.

(Ereditato da DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet affinché corrispondano a quelle nell'origine dati usando i nomi DataSet, DataTable e IDataReader.

(Ereditato da DbDataAdapter)
Fill(DataTable)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet affinché corrispondano a quelle nell'origine dati mediante il nome di DataTable.

(Ereditato da DbDataAdapter)
Fill(DataTable, IDataReader)

Aggiunge o aggiorna righe in un oggetto DataTable affinché corrispondano a quelle dell'origine dati, usando i nomi DataTable e IDataReader specificati.

(Ereditato da DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

Aggiunge o aggiorna righe in un oggetto DataTable affinché corrispondano a quelle dell'origine dati, utilizzando gli oggetti DataTable, IDbCommand e CommandBehavior specificati.

(Ereditato da DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

Aggiunge o aggiorna righe in un intervallo specificato nell'insieme di oggetti DataTable affinché corrispondano a quelle nell'origine dati.

(Ereditato da DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet affinché corrispondano a quelle nell'origine dati mediante DataSet e i nomi di DataTable.

(Ereditato da DbDataAdapter)
Fill(Int32, Int32, DataTable[])

Aggiunge o aggiorna righe in uno o più DataTable oggetti in modo che corrispondano a quelli nell'origine dati a partire dal record specificato e recuperando fino al numero massimo di record specificato.

(Ereditato da DbDataAdapter)
FillSchema(DataSet, SchemaType)

Aggiunge un oggetto DataTable denominato "Table" all'oggetto DataSet specificato e configura lo schema perché corrisponda a quello presente nell'origine dati basato sull'oggetto SchemaType specificato.

(Ereditato da DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

Aggiunge un oggetto DataTable all'oggetto DataSet specificato e di configurare lo schema in modo che corrisponda a quello dell'origine dati basato sull'oggetto SchemaType specificato.

(Ereditato da DbDataAdapter)
FillSchema(DataSet, SchemaType, String)

Aggiunge un oggetto DataTable all'oggetto DataSet specificato e configura lo schema in modo che corrisponda a quello dell'origine dati in base a SchemaType e DataTable.

(Ereditato da DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

Aggiunge una classe DataTable alla classe DataSet specificata.

(Ereditato da DataAdapter)
FillSchema(DataTable, SchemaType)

Configura lo schema dell'oggetto DataTable specificato in base all'oggetto SchemaType specificato.

(Ereditato da DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

Aggiunge una classe DataTable alla classe DataSet specificata.

(Ereditato da DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

Configura lo schema dell'oggetto DataTable specificato, una stringa di comando SchemaType e valori di CommandBehavior.

(Ereditato da DbDataAdapter)
GetBatchedParameter(Int32, Int32)

Restituisce un'interfaccia IDataParameter da uno dei comandi nel batch corrente.

(Ereditato da DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

Restituisce informazioni su un tentativo di aggiornamento singolo all’interno di un aggiornamento in batch di dimensioni maggiori.

(Ereditato da DbDataAdapter)
GetFillParameters()

Ottiene i parametri impostati dall'utente durante l'esecuzione di un'istruzione SQL SELECT.

(Ereditato da DbDataAdapter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

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

(Ereditato da MarshalByRefObject)
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)
HasTableMappings()

Indica se è stata creata una classe DataTableMappingCollection.

(Ereditato da DataAdapter)
InitializeBatching()

Inizializza i batch per la classe DbDataAdapter.

(Ereditato da DbDataAdapter)
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)
OnFillError(FillErrorEventArgs)

Genera l'evento FillError.

(Ereditato da DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

Genera l'evento RowUpdated di un provider di dati .NET.

(Ereditato da DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

Genera l'evento RowUpdating di un provider di dati .NET.

(Ereditato da DbDataAdapter)
ResetFillLoadOption()

Reimposta la proprietà FillLoadOption allo stato predefinito e fa in modo che il metodo Fill(DataSet) rispetti la proprietà AcceptChangesDuringFill.

(Ereditato da DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

Determina se la proprietà AcceptChangesDuringFill deve essere mantenuta.

(Ereditato da DataAdapter)
ShouldSerializeFillLoadOption()

Determina se la proprietà FillLoadOption deve essere mantenuta.

(Ereditato da DataAdapter)
ShouldSerializeTableMappings()

Determina se sono presenti più oggetti DataTableMapping e se è necessario conservarli.

(Ereditato da DataAdapter)
TerminateBatching()

Termina l'operazione in batch per la classe DbDataAdapter.

(Ereditato da DbDataAdapter)
ToString()

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

(Ereditato da Component)
Update(DataRow[])

Aggiorna il valore nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ciascuna riga inserita, aggiornata o eliminata nella matrice specificata nell'oggetto DataSet.

(Ereditato da DbDataAdapter)
Update(DataRow[], DataTableMapping)

Aggiorna i valore nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ciascuna riga inserita, aggiornata o eliminata nella matrice specificata degli oggetti DataRow.

(Ereditato da DbDataAdapter)
Update(DataSet)

Aggiorna il valore nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ciascuna riga inserita, aggiornata o eliminata nell'oggetto DataSet specificato.

(Ereditato da DbDataAdapter)
Update(DataSet, String)

Aggiorna i valori nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ogni riga inserita, aggiornata o eliminata nell'oggetto DataSet con il nome DataTable specificato.

(Ereditato da DbDataAdapter)
Update(DataTable)

Aggiorna il valore nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ciascuna riga inserita, aggiornata o eliminata nell'oggetto DataTable specificato.

(Ereditato da DbDataAdapter)

Eventi

Disposed

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

(Ereditato da Component)
FillError

Restituito quando si verifica un errore durante un'operazione di riempimento.

(Ereditato da DbDataAdapter)
RowUpdated

Si verifica durante l'applicazione del metodo Update(DataSet) in seguito all'esecuzione di un comando nell'origine dati. L'esecuzione del tentativo di aggiornamento determina la generazione dell'evento.

RowUpdating

Si verifica durante l'applicazione del metodo Update(DataSet) prima che un comando sia eseguito nell'origine dati. L'esecuzione del tentativo di aggiornamento determina la generazione dell'evento.

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

Per una descrizione di questo membro, vedere Clone().

IDataAdapter.TableMappings

Ottiene una raccolta che indica come viene eseguito il mapping di una tabella di origine a una tabella del set di dati.

(Ereditato da DataAdapter)
IDbDataAdapter.DeleteCommand

Per una descrizione di questo membro, vedere DeleteCommand.

IDbDataAdapter.InsertCommand

Per una descrizione di questo membro, vedere InsertCommand.

IDbDataAdapter.SelectCommand

Per una descrizione di questo membro, vedere SelectCommand.

IDbDataAdapter.UpdateCommand

Per una descrizione di questo membro, vedere UpdateCommand.

Si applica a

Vedi anche