Lavorare con i dataset I parte ; cosa è un Dataset, come riempire un dataset e visualizzare i dati.
Di Admin (del 12/06/2006 @ 17:20:48, in ASP.NET, linkato 13288 volte)
Tra gli strumenti a disposizione degli sviluppatori spicca sicuramente il Dataset, presente in .NET sin dalla sua prima versione; un Dataset è un contenitore di dati disconnesso, cioè indipendente dalla fonte dati cui si relaziona. Ad una prima approssimazione si potrebbe dire che un Dataset può venir usato come un array ottimizzato per la gestione dei dati provenineti da una o più tabelle di un database. Ogni tabella coinvolta viene rappresentata dalla proprietà Datatable mentre ad ogni record/tupla viene ci si riferisce con la proprietà DataRow. Essendo per sua natura disconnesso, il Dataset ottiene i dati dall'oggetto Dataadapter che diviene quindi l'interfaccia tra il database vero e proprio e il Dataset. Vediamo con un semplice esempio come sia possibile caricare un Dataset ed utilizzare le sue proprietà/metodi di base: // Definiamo una nuova connessione con i parametri di accesso al database System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection(); sqlConnection1.ConnectionString = "Data Source=MIOPC;Initial Catalog=Frutta;User ID=yyyyyyyy;Password=xxxxxxx"; string StrSql = "SELECT * FROM Frutta"; // un contatore per ciclare sulle righe del Dataset integer indice; indice=0; // Definizione dell'interfaccia DataAdapter DAFRUTTA SqlDataAdapter daFrutta = new SqlDataAdapter(StrSql, sqlConnection1); // Creo un nuovo DataSet DSFRUTTA DataSet dsFrutta = new DataSet(); // Riempiamo il Dataset dsFrutta con i risultati della query SQL // dalla tabella frutta daFrutta.Fill(dsFrutta, "frutta"); // Ciclando sulle righe del Dataset otteniamo tutti i record // dsFrutta.Tables[0].Rows.Count significa: il totale delle righe della tabella 0 (cioè l'unica, 'Frutta', del Dataset). // notare il '-1' perchè la prima riga del Dataset è la 0-esima.
While (indice < dsFrutta.Tables[0].Rows.Count-1) { // dsFrutta.Tables[0].Rows[indice]["NomeFrutto"] significa: // il campo "NomeFrutto" della indice-sima riga della 0-esima tabella ("Frutta") del Dataset System.Console.Write(dsFrutta.Tables[0].Rows[indice]["NomeFrutto"] + " "); System.Console.WriteLine(dsFrutta.Tables[0].Rows[indice]["Vitamine"]); indice++; } Con queste semplici righe di codice è possibi le relazionarsi ad una o più tabelle di un database, memorizzare i risultati di una query e lavorare sulle righe del dataset. Nelle successive sezioni dedicate ai Dataset ci si soffermerà su altre (e più interessanti) features di tali oggetti.
|