Creare e configurare tableAdapter nelle applicazioni .NET Framework
Nota
I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.
Gli oggetti TableAdapter forniscono la comunicazione tra l'applicazione e un database. Si connettono al database, eseguono query o stored procedure e restituiscono una nuova tabella dati o riempiono un oggetto esistente DataTable con i dati restituiti. Gli oggetti TableAdapter possono anche inviare dati aggiornati dall'applicazione al database.
I tableAdapter vengono creati automaticamente quando si esegue una delle azioni seguenti:
Trascinare oggetti di database da Esplora server in Progettazione set di dati.
Eseguire la Configurazione guidata origine dati e selezionare il tipo di origine dati Database o Servizio Web.
È anche possibile creare un nuovo TableAdapter e configurarlo con un'origine dati trascinando un oggetto TableAdapter dalla casella degli strumenti a un'area vuota nell'area Progettazione set di dati .
Per un'introduzione a TableAdapters, vedere Fill datasets by using TableAdapters (Compilare set di dati usando TableAdapters).
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio in questo articolo potrebbero essere diversi nel computer in uso. È possibile usare un'edizione diversa di Visual Studio o impostazioni di ambiente diverse. Per altre informazioni, vedere Personalizzare l'IDE.
Usare la Configurazione guidata TableAdapter
Eseguire la Configurazione guidata TableAdapter per creare o modificare TableAdapter e le tabelle DataTable associate. È possibile configurare un TableAdapter esistente facendo clic con il pulsante destro del mouse su di esso in Progettazione set di dati.
Se si trascina un nuovo TableAdapter dalla casella degli strumenti quando progettazione set di dati è attivo, la procedura guidata avvia e chiede di specificare l'origine dati a cui deve connettersi TableAdapter. Nella pagina successiva la procedura guidata chiede quale tipo di comandi usare per comunicare con il database, ovvero istruzioni SQL o stored procedure. Questa schermata non viene visualizzata se si configura un TableAdapter già associato a un'origine dati.
Se si dispone delle autorizzazioni corrette per il database, è possibile creare una nuova stored procedure nel database sottostante. Se queste autorizzazioni non sono disponibili, questa opzione non è disponibile.
È anche possibile scegliere di eseguire stored procedure esistenti per i comandi SELECT, INSERT, UPDATE e DELETE di TableAdapter. La stored procedure assegnata al comando Update , ad esempio, viene eseguita quando viene chiamato il
TableAdapter.Update()
metodo .
Mappare i parametri dalla stored procedure selezionata alle colonne corrispondenti nella tabella dati. Ad esempio, se la stored procedure accetta un parametro denominato @CompanyName
che passa alla CompanyName
colonna nella tabella, impostare la colonna di origine del @CompanyName
parametro su CompanyName
.
Nota
La stored procedure assegnata al SELECT
comando viene eseguita chiamando il metodo dell'oggetto TableAdapter assegnato nel passaggio successivo della procedura guidata. Il metodo predefinito è Fill
, quindi il codice usato in genere per eseguire la SELECT
routine è TableAdapter.Fill(tableName)
. Se si modifica il nome predefinito da Fill
, sostituire Fill
con il nome assegnato e sostituire "TableAdapter" con il nome effettivo di TableAdapter (ad esempio, CustomersTableAdapter
).
- La selezione dei metodi Create per inviare gli aggiornamenti direttamente all'opzione di database equivale all'impostazione della
GenerateDBDirectMethods
proprietà su true. L'opzione non è disponibile quando l'istruzione SQL originale non fornisce informazioni sufficienti o la query non è una query aggiornabile. Questa situazione può verificarsi, ad esempio, nelle query JOIN e nelle query che restituiscono un singolo valore (scalare).
Le opzioni avanzate della procedura guidata consentono di:
- Generare
INSERT
istruzioni ,UPDATE
eDELETE
in base all'istruzioneSELECT
definita nella pagina Genera istruzioni SQL - Usa concorrenza ottimistica
- Specificare se aggiornare la tabella dati dopo
INSERT
l'esecuzione delle istruzioni eUPDATE
Configurare un metodo Fill di TableAdapter
In alcuni casi potrebbe essere necessario modificare lo schema della tabella di TableAdapter. A tale scopo, modificare il metodo primario Fill
di TableAdapter. Gli oggetti TableAdapter vengono creati con un metodo primario Fill
che definisce lo schema della tabella dati associata. Il metodo primario Fill
si basa sulla query o sulla stored procedure immessa quando è stato originariamente configurato TableAdapter. Si tratta del primo metodo (in primo piano) nella tabella dati in Progettazione DataSet.
Tutte le modifiche apportate al metodo main Fill
di TableAdapter vengono riflesse nello schema della tabella dati associata. Ad esempio, la rimozione di una colonna dalla query nel metodo main Fill
rimuove anche la colonna dalla tabella dati associata. Inoltre, rimuovendo la colonna dal metodo main Fill
, la colonna viene rimossa da eventuali query aggiuntive per l'oggetto TableAdapter.
È possibile usare la Configurazione guidata query TableAdapter per creare e modificare query aggiuntive per TableAdapter. Queste query aggiuntive devono essere conformi allo schema della tabella, a meno che non restituiscano un valore scalare. Ogni query aggiuntiva ha un nome specificato.
L'esempio seguente illustra come chiamare una query aggiuntiva denominata FillByCity
:
CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
Per avviare la Configurazione guidata query TableAdapter con una nuova query
Aprire il set di dati in Progettazione DataSet.
Se si crea una nuova query, trascinare un oggetto Query dalla scheda DataSet della casella degli strumenti in un DataTableoggetto oppure selezionare Aggiungi query dal menu di scelta rapida di TableAdapter. È anche possibile trascinare un oggetto Query in un'area vuota di Progettazione set di dati, che crea un Oggetto TableAdapter senza un oggetto associatoDataTable. Queste query possono restituire solo valori singoli (scalari) oppure eseguire
UPDATE
comandi ,INSERT
oDELETE
sul database.Nella schermata Scegli connessione dati selezionare o creare la connessione che verrà usata dalla query.
Nota
Questa schermata viene visualizzata solo quando la finestra di progettazione non riesce a determinare la connessione appropriata da usare o quando non sono disponibili connessioni.
Nella schermata Choose a Command Type (Scegli un tipo di comando) selezionare uno dei metodi seguenti per recuperare i dati dal database:
Usare istruzioni SQL consente di digitare un'istruzione SQL per selezionare i dati dal database.
La creazione di una nuova stored procedure consente di creare una nuova stored procedure (nel database) in base all'istruzione specificata
SELECT
.L'utilizzo di stored procedure esistenti consente di eseguire una stored procedure esistente durante l'esecuzione della query.
Per avviare la Configurazione guidata query TableAdapter in una query esistente
Se si modifica una query TableAdapter esistente, fare clic con il pulsante destro del mouse sulla query e scegliere Configura dal menu di scelta rapida.
Nota
Fare clic con il pulsante destro del mouse sulla query principale di un tableAdapter riconfigura tableadapter e DataTable schema. Facendo clic con il pulsante destro del mouse su una query aggiuntiva in un oggetto TableAdapter, tuttavia, viene configurata solo la query selezionata. La Configurazione guidata TableAdapter riconfigura la definizione TableAdapter, mentre la Configurazione guidata query TableAdapter riconfigura solo la query selezionata.
Per aggiungere una query globale a un oggetto TableAdapter
Le query globali sono query SQL che restituiscono un singolo valore (scalare) o nessun valore. In genere, le funzioni globali eseguono operazioni di database, ad esempio inserimenti, aggiornamenti ed eliminazioni. Aggregano anche informazioni, ad esempio un conteggio dei clienti in una tabella o gli addebiti totali per tutti gli articoli in un determinato ordine.
Per aggiungere query globali, trascinare un oggetto Query dalla scheda DataSet della casella degli strumenti in un'area vuota di Progettazione set di dati.
Specificare una query che esegue l'attività desiderata,
SELECT COUNT(*) AS CustomerCount FROM Customers
ad esempio .Nota
Il trascinamento di un oggetto Query direttamente in Progettazione set di dati crea un metodo che restituisce solo un valore scalare (singolo). Mentre la query o la stored procedure selezionata potrebbe restituire più di un singolo valore, il metodo creato dalla procedura guidata restituisce solo un singolo valore. Ad esempio, la query potrebbe restituire la prima colonna della prima riga dei dati restituiti.