In questa lezione del corso vedremo come ci si possa collegare ad un database tramite ADO.NET ed attraverso un “reader” andare a leggere i dati di una tabella. Come primo passo da compiere dobbiamo avere una tabella in un database, quindi scaricate il database dei comuni Italiani in formato Access. Gli stessi risultati, anzi senza nessuna fatica è possibile averli con le creazioni guidate di connessioni ai database dell’ambiente di sviluppo, però voglio mostrarvi la più breve strada per accedere ad un database senza impiegare i wizard.
using System; using System.Data.OleDb; public class Corso { static void Main(string[] args) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Dati\\Comuni.mdb"; string strSQL = "SELECT TOP 10 CAP, Comune, Provincia FROM Comuni WHERE Provincia = 'VT' ORDER BY Comune"; OleDbConnection myConn = new OleDbConnection(strConn); OleDbCommand myCmd = new OleDbCommand(strSQL, myConn); myConn.Open(); OleDbDataReader myReader = myCmd.ExecuteReader(); while (myReader.Read()) { Console.WriteLine("{0} {1} ( {2} )", myReader.GetString(0), myReader.GetString(1), myReader.GetString(2)); } myReader.Close(); myConn.Close(); Console.ReadKey(); } }
In questo esempio ho utilizzato la libreria OleDB che consente di accedere a tutti i database per i quali esiste un provider, consiglio di studiarvi ADO.NET; mentre per SQL Server c’è anche una libreria specifica, con l’analizzatore delle classi potete cercarla e studiarvela.
Il procedimento per leggere da una tabella in un database è creare una connessione alla base dati, creare un comando ed associargli un “reader” per leggere i dati.
Se possedete un sistema operativo a 64 bit dovete compilare il progetto per x86.
Se ci fossero delle eccezioni lanciate dal programma, probabilmente perché è inserito un apostrofo nei nomi dei comuni e comunque la prossima lezione vedremo come gestire da programma queste eccezioni. Magari alcuni di voi o forse tutti non approvano questo mio modo di procedere dicendo studiatevi qui o studiatevi là, come…, potreste dire, il tuo è un corso di programmazione sul C# o no? Ed io rispondo…, si, ma il corso è per futuri programmatori che hanno voglia e curiosità di scoprire da soli nuovi aspetti dello sviluppo del software, io concedo solo qualche suggerimento iniziale e poi dovete essere voi ad auto-accrescervi; se non la pensate come me potete anche indirizzarvi verso nuovi corsi teorici e che vi aiutano come le mamme ai bambini delle elementari, ma secondo il mio parere non siete nati per programmare. Arrivati alla quattordicesima lezione ritengo che sia venuto il momento di capire se siete o no abili nella programmazione.
<< Lezione Precedente – Inizio Corso – Indice Lezioni – Lezione Successiva >>