SqlDataAdapter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un set di comandi dati e una connessione di database utilizzata per riempire il DataSet e aggiornare un database SQL Server. La classe non può essere ereditata.
Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient.
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, al metodo viene passato un DataSet inizializzato, un stringa di connessione e 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.
Note
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.
Note
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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| SqlDataAdapter(SqlCommand) |
Inizializza una nuova istanza della SqlDataAdapter classe con l'oggetto specificato SqlCommand come SelectCommand proprietà . Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| SqlDataAdapter(String, SqlConnection) |
Inizializza una nuova istanza della SqlDataAdapter classe con un SelectCommand oggetto e .SqlConnection Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| SqlDataAdapter(String, String) |
Inizializza una nuova istanza della SqlDataAdapter classe con e SelectCommand una stringa di connessione. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
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 il IContainer che contiene il 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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| DesignMode |
Ottiene un valore che indica se la Component è attualmente in modalità progettazione. (Ereditato da Component) |
| Events |
Ottiene l'elenco dei gestori eventi associati 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 DataTableDbDataReaderda . (Ereditato da DataAdapter) |
| InsertCommand |
Ottiene o imposta un'istruzione Transact-SQL o una stored procedure per inserire nuovi record nell'origine dati. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| 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 |
| SelectCommand |
Ottiene o imposta un'istruzione Transact-SQL o una stored procedure utilizzata per selezionare i record nell'origine dati. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| Site |
Ottiene o imposta il ISite del 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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| UpdateCommand |
Ottiene o imposta un'istruzione Transact-SQL o una stored procedure utilizzata per aggiornare i record nell'origine dati. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
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 DataTable specificatiIDataReader. (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 DataTable ai valori specificati.SchemaTypeCommandBehavior (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 dal Component o dal relativo 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 |
| OnRowUpdating(RowUpdatingEventArgs) |
Genera l'evento |
| 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 metodo Dispose(). (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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| 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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICloneable.Clone() |
Per una descrizione di questo membro, vedere Clone(). Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| 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. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| IDbDataAdapter.InsertCommand |
Per una descrizione di questo membro, vedere InsertCommand. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| IDbDataAdapter.SelectCommand |
Per una descrizione di questo membro, vedere SelectCommand. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |
| IDbDataAdapter.UpdateCommand |
Per una descrizione di questo membro, vedere UpdateCommand. Per il nuovo sviluppo, usare Microsoft. Data.SqlClient. Questa pagina documenta System.Data.SqlClient. |