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