Condividi tramite


SqlDataAdapter Classe

Definizione

Rappresenta un set di comandi dati e una connessione di database utilizzata per riempire DataSet e aggiornare un database di SQL Server. Questa classe non può essere ereditata.

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

Esempio

L'esempio SqlCommandseguente usa , 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, il metodo viene passato a un oggetto inizializzato DataSet, a una stringa di connessione e a una stringa di query che è un'istruzione SELECT Transact-SQL.

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 DataSet e SQL Server per il recupero e il salvataggio dei dati. Fornisce SqlDataAdapter questo bridge eseguendo il mapping Fill, che modifica i dati in DataSet 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 rispetto all'origine dati. L'aggiornamento viene eseguito per riga. Per ogni riga inserita, modificata ed eliminata, il Update metodo determina il tipo di modifica che è stato eseguito 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. SqlDataAdapter Quando riempie 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 , incluse le informazioni sulla chiave primaria, prima di DataSetcompilarlo con i dati usando FillSchema. Per altre informazioni, vedere Aggiunta di vincoli esistenti a un set di dati.

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

Annotazioni

Se si utilizzano stored procedure di SQL Server per modificare o eliminare dati tramite DataAdapter, assicurarsi di non utilizzare 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.

I InsertCommandmodelli , DeleteCommande 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.

Annotazioni

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

Nome Descrizione
SqlDataAdapter()

Inizializza una nuova istanza della classe SqlDataAdapter.

SqlDataAdapter(SqlCommand)

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

SqlDataAdapter(String, SqlConnection)

Inizializza una nuova istanza della SqlDataAdapter classe con un SelectCommand oggetto e .SqlConnection

SqlDataAdapter(String, String)

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

Campi

Nome Descrizione
DefaultSourceTableName

Nome predefinito utilizzato dall'oggetto DataAdapter per i mapping delle tabelle.

(Ereditato da DbDataAdapter)

Proprietà

Nome Descrizione
AcceptChangesDuringFill

Ottiene o imposta un valore che indica se AcceptChanges() viene chiamato su un DataRow oggetto dopo l'aggiunta DataTable a durante una delle operazioni Fill .

(Ereditato da DataAdapter)
AcceptChangesDuringUpdate

Ottiene o imposta un valore che indica se AcceptChanges() viene chiamato durante un oggetto 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 contenente l'oggetto Component.

(Ereditato da Component)
ContinueUpdateOnError

Ottiene o imposta un valore che specifica se generare un'eccezione quando si verifica un errore durante un aggiornamento di riga.

(Ereditato da DataAdapter)
DeleteCommand

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

DesignMode

Ottiene un valore che indica se è Component attualmente in modalità progettazione.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi associati a questo Componentoggetto .

(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 DataTableDbDataReaderda .

(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'azione da eseguire quando i dati in ingresso non hanno una tabella o una colonna corrispondente.

(Ereditato da DataAdapter)
MissingSchemaAction

Determina l'azione da eseguire quando lo schema esistente DataSet non corrisponde ai dati in ingresso.

(Ereditato da DataAdapter)
ReturnProviderSpecificTypes

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

(Ereditato da DataAdapter)
SelectCommand

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

Site

Ottiene o imposta l'oggetto ISite dell'oggetto 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 round trip al server.

UpdateCommand

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

Metodi

Nome Descrizione
AddToBatch(IDbCommand)

Aggiunge un oggetto IDbCommand al batch corrente.

(Ereditato da DbDataAdapter)
ClearBatch()

Rimuove tutti gli IDbCommand oggetti dal batch.

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

Crea una copia di questa istanza di DataAdapter.

(Ereditato da DataAdapter)
CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare 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 DataTableMappingCollectionoggetto .

(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, rilascia 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, Int32, Int32, String, IDbCommand, CommandBehavior)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando i DataSet nomi delle tabelle di origine e, la stringa di comando e il comportamento del comando.

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

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando i DataSet nomi e DataTable .

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

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando i DataSetnomi , DataTablee IDataReader .

(Ereditato da DbDataAdapter)
Fill(DataSet, String)

Aggiunge o aggiorna righe nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando i DataSet nomi e DataTable .

(Ereditato da DbDataAdapter)
Fill(DataSet)

Aggiunge o aggiorna righe in DataSet.

(Ereditato da DbDataAdapter)
Fill(DataTable, IDataReader)

Aggiunge o aggiorna righe in un DataTable oggetto in modo che corrispondano a quelle nell'origine dati usando i nomi e IDataReader specificatiDataTable.

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

Aggiunge o aggiorna righe in un DataTable oggetto in modo che corrispondano a quelle nell'origine dati usando l'oggetto specificato DataTableIDbCommand e CommandBehavior.

(Ereditato da DbDataAdapter)
Fill(DataTable)

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando il DataTable nome.

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

Aggiunge o aggiorna righe in un intervallo specificato nell'insieme di DataTable oggetti in modo che corrispondano a quelli nell'origine dati.

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

Aggiunge o aggiorna righe in un intervallo specificato nell'oggetto DataSet in modo che corrispondano a quelle nell'origine dati usando i DataSet nomi e 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, IDbCommand, String, CommandBehavior)

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

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

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

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

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

(Ereditato da DbDataAdapter)
FillSchema(DataSet, SchemaType)

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

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

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

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

Configura lo schema dell'oggetto specificato in base alla stringa di comando e CommandBehavior ai valori specificati.DataTableSchemaType

(Ereditato da DbDataAdapter)
FillSchema(DataTable, SchemaType)

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

(Ereditato da DbDataAdapter)
GetBatchedParameter(Int32, Int32)

Restituisce un oggetto IDataParameter da uno dei comandi nel batch corrente.

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

Restituisce informazioni su un singolo tentativo di aggiornamento all'interno di un aggiornamento in batch più grande.

(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.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetService(Type)

Restituisce un oggetto che rappresenta un servizio fornito da Component o da Container.

(Ereditato da Component)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
HasTableMappings()

Indica se è stato creato un oggetto DataTableMappingCollection .

(Ereditato da DataAdapter)
InitializeBatching()

Inizializza l'invio in batch per .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 del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject .

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

FillLoadOption Reimposta lo stato predefinito e causa l'onore Fill(DataSet)AcceptChangesDuringFilldi .

(Ereditato da DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

Determina se la AcceptChangesDuringFill proprietà deve essere persistente.

(Ereditato da DataAdapter)
ShouldSerializeFillLoadOption()

Determina se la FillLoadOption proprietà deve essere persistente.

(Ereditato da DataAdapter)
ShouldSerializeTableMappings()

Determina se uno o più DataTableMapping oggetti esistono e devono essere salvati in modo permanente.

(Ereditato da DataAdapter)
TerminateBatching()

Termina l'invio in batch per l'oggetto DbDataAdapter.

(Ereditato da DbDataAdapter)
ToString()

Restituisce un oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override.

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

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

(Ereditato da DbDataAdapter)
Update(DataRow[])

Aggiorna i valori nel database eseguendo le rispettive istruzioni INSERT, UPDATE o DELETE per ogni riga inserita, aggiornata o eliminata nella matrice specificata in DataSet.

(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 in DataSet con il nome specificato DataTable .

(Ereditato da DbDataAdapter)
Update(DataSet)

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

(Ereditato da DbDataAdapter)
Update(DataTable)

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

(Ereditato da DbDataAdapter)

Eventi

Nome Descrizione
Disposed

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

(Ereditato da Component)
FillError

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

(Ereditato da DbDataAdapter)
RowUpdated

Si verifica durante Update(DataSet) l'esecuzione di un comando sull'origine dati. Viene eseguito il tentativo di aggiornamento, quindi viene generato l'evento.

RowUpdating

Si verifica durante Update(DataSet) la prima esecuzione di un comando sull'origine dati. Viene eseguito il tentativo di aggiornamento, quindi viene generato l'evento.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
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