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 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, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class SqlDataAdapter : 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
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, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
- 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 oggetto inizializzato DataSet, un 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
, Update
o Delete
). A seconda del tipo di modifica, il Insert
modello di comando , Update
o 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
, UpdateCommand
o 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 |
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 DataTableoggetto . (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 per corrispondere 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 |
OnRowUpdating(RowUpdatingEventArgs) |
Genera l'evento |
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. |