Abbiamo già parlato altre volte di Ado.Net e Data Sets, questa volta vediamo con un rapido esempio come si crea un data set con più tabelle, nello specifico due e come impostare l'object Cache, ossia come non mantenere in memoria data set della dimensione biblica. Vediamo il codice
//Data adapter, SQL command e connection string.
SqlDataAdapter dar =new SqlDataAdapter("SELECT * FROM Clienti",
"server=(local);database=Contacts;Trusted_Connection=yes");
// Data set abbiamo due data tables
public DataSet ledue = new DataSet("Due");
private void Page_Load(object sender, System.EventArgs e)
{ // Ora facciamo il cache se è la prima volta che la pagina è visualizzata
// o se l'object Cache non esiste
if ((!IsPostBack) ¦¦ (Cache.Get("leDue") == null))
{ // Creiamo la tabella Clinti
DataTable Clienti = new DataTable("Clienti");
dar.Fill(Clienti);
// Ora modifichiamo il SELECT command dell'adpter
dar.SelectCommand.CommandText = "SELECT * FROM Preventivi";
// Creiamo la tabella Preventivi
DataTable Preventivi = new DataTable("Preventivi");
dar.Fill(Preventivi);
// Aggiungiamole entrambe allo stesso dataset.
leDue.Tables.Add(Preventivi);
leDue.Tables.Add(Clienti);
// Qui impostiamo il tempo di cache del data set a 40 minuti.
Cache.Add("leDue", leDue, null, DateTime.MaxValue,
System.TimeSpan.FromMinutes(40),
System.Web.Caching.CacheItemPriority.Default, null);
// Vogliamo vedere i nostri dati in una drop-down list quindi bindiamo.
drClienti.DataBind();
}
else
// Ok abbiamo già il dataset in cache utilizziamolo
leDue = (DataSet) Cache["leDue"];
}
Ed ora vado a fare ancora qualche test....sperando che riprenda a funzionare l'ADSL così posso usare IMHO sul portatile e non fare travasi di post da un Pc all'altro :(
powered by IMHO 1.3