Home Page Home Page Tips & Tricks Come popolare un Dataset usando più query con una sola istruzione ?

Come popolare un Dataset usando più query con una sola istruzione ?


In .NET è stata introdotta una struttura dati "disconnessa" innovative che è il Dataset. Il Dataset rappresenta in forma come abbiamo detto disconnessa un Database con tabelle, righe, colonne, relazioni, e così via.
Spesso per ragioni di performance è molto utile connettersi una sola al database e recuperare tutte le informazioni necessarie riempiendo il Dataset che verrà usato successivamente.
Il metodo classico è aprire di seguito più SqlDataAdapter con query diverse in base ai dati richiesti.
C'è anche un metodo più veloce che consiste nell'accodare più query nello stesso SqlDataAdapter in modo da recuperare in un sol colpo tutti i dati.
Vediamo qui di seguito un codice d'esempio:

DataSet ds=new DataSet();
SqlConnection sqlconn=new SqlConnection("Server=LOCALHOST;Initial Catalog=northwind;UID=sa;PWD=sa");
sqlconn.Open();
SqlDataAdapter da=new SqlDataAdapter("SELECT * FROM Orders;SELECT * FROM Employees",sqlconn);
da.Fill(ds);
int numero_tabelle=ds.Tables.Count;
da.Dispose();
sqlconn.Close();

Come potete vedere nel SqlDataAdapter vengono accodate una dietro le latre varie query separate da un punto e virgola ";". In questo modo il database le esegue in sequenza e restituisce i risultati riempiendo il nostro Dataset poi utilizzabile per vari scopi e accedendo ai risultati tramite la Collection Tables esempio:

ds.Tables[0].
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5