43022 Letture

Visual Basic 2010 e ADO.NET: accesso ai dati / seconda puntata

Proseguiamo con la seconda puntata della serie di articoli dedicati all'accesso ai dati con Visual Basic 2010. Questa volta proveremo a visualizzare i dati contenuti in due tabelle del database utilizzando alcuni controlli: una casella di testo ed un DataGridView. Chi non avesse ancora letto la prima puntata, può fare riferimento a questo articolo.

La scheda Origine dati, accessibile cliccando sul menù Dati, Mostra origini dati di Visual Basic 2010, è un'eccellente caratteristica dell'ambiente di sviluppo di Microsoft (altrimenti detto IDE, Integrated Development Environment).


Cliccando su Mostra origini dati, è possibile ottenere una rappresentazione visuale di tutti i dataset che sono stati creati in precedenza e che quindi possono essere impiegati nel progetto in corso di sviluppo. La scheda Origini dati, inoltre, facilita "l'abbinamento" di ciascun dataset ai controlli via a via inseriti nel form (si chiama così ogni finestra dell'applicazione che permette all'utente di inviare uno o più dati da elaborare oppure di interagire con il programma stesso).

Va comunque ricordato, come già sottolineato nella precedente puntata, che un dataset è soltanto una rappresentazione temporanea delle informazioni contenute nella base dati. Ogni dataset, inoltre, ospita solo un sottoinsieme delle tabelle e dei campi che compongono l'intero database: si tratta degli elementi che si sono scelti ricorrendo alla Configurazione guidata origine dati.


Il dataset viene mostrato, all'interno della scheda Origini dati, con una struttura ad albero. Ogniqualvolta si aggiunga un nuovo dataset all'elenco, quest'ultimo verrà inserito sotto forma di nuovo albero. Da una singola applicazione, quindi, risulterà sempre possibile attingere simultaneamente ad una vasta schiera di sorgenti di dati.
Cliccando due volte sulle varie tabelle in elenco nella scheda Origini dati, si potrà visualizzarne i campi corrispondenti (solo quelli selezionati all'atto della creazione del dataset verranno inseriti in lista).


La barra degli strumenti della scheda Origini dati si compone di quattro utili pulsanti: da sinistra verso destra, il primo consente di aggiungere una nuova origine dati, il secondo di aprire la finestra di progettazione per la modifica della struttura del dataset, il terzo di invocare nuovamente la procedura guidata per la riconfigurazione del dataset (aggiunta o rimozione di campi) mentre il quarto di aggiornare il contenuto del dataset.

Collegare i componenti di una form con i campi del database

Nella finestra Origini dati, si cominci col fare doppio clic sulla tabella Customers in modo da ottenere l'elenco dei campi in essa ricompresi.
Cliccando sul campo Company, in corrispondenza della freccia, dovrebbe comparire un menù a tendina identico al seguente:


Nel caso in cui ciò non dovesse accadere (non compare alcuna freccia e nessun menù a tendina in corrispondenza di un qualunque campo), è necessario assicurarsi di aver selezionato la finestra di progettazione delle form dell'applicazione (nel nostro esempio, dovreste ancora visualizzare Form1.vb [Progettazione]).

La maggior parte dei controlli presenti in una form di Visual Basic 2010 (caselle di testo, etichette, menù a tendina, liste,...) supportano la connessione a sorgenti di dati (bound controls): ciò significa che posseggono già le abilità per visualizzare le informazioni memorizzate in un qualunque dataset. Cliccando sul menù a tendina in corrispondenza del campo Company, Visual Basic propone una lista dei componenti più comunemente impiegati in un'applicazione. E' comunque possibile aggiungere o rimuovere componenti ricorrendo al comando Personalizza.

Nel nostro esempio, proviamo ad usare un semplice controllo TextBox: è sufficiente cliccare sulla voce TextBox quindi trascinare il campo Company sulla form.

Dopo aver rilasciato il tasto sinistro del mouse, Visual Basic provvederà automaticamente ad aggiungere, sulla form principale dell'applicazione in corso di realizzazione, una casella di testo già in grado di visualizzare i dati contenuti presenti nel campo selezionato, all'interno del dataset.

Una barra di navigazione viene poi aggiunta in testa alla finestra: essa permette di muoversi tra un record e l'altro.

Per la gestione degli aspetti legati alla procedura di accesso ai dati, è possibile notare come Visual Basic abbia altresì aggiunto, nella barra inferiore, diversi oggetti.

- Northwind_2007DataSet E' il dataset generato in precedenza ricorrendo alla Configurazione guidata origine dati. Può essere considerato come una "rappresentazione" dei campi presenti nel database (Access, in questo caso).
- CustomersBindingSource Un componente che agisce da "intermediario" tra la tabella Customers e gli elementi della form collegati alla base dati.
- CustomersTableAdapter e TableAdapterManager Si tratta di due componenti che si incaricano di "muovere i dati" tra il dataset Northwind_2007DataSet e le tabelle conservate nel database.
- CustomersBindingNavigator Mette a disposizione i meccanismi per la "navigazione" all'interno del contenuto del database e le proprietà collegate alla barra di navigazione ed alla tabella Customers.


Premendo il tasto F5, cliccando sul pulsante Avvia debug della barra degli strumenti dell'IDE di Visual Basic 2010 oppure selezionando il menù Debug quindi la voce Avvia debug, la nostra applicazione di prova viene compilata ed immediatamente eseguita.
Nella casella di testo, si può subito notare la presenza del nome della prima azienda contenuta nel database (tabella Customers; campo Company).

La barra degli strumenti mostra il numero del record correntemente esposto ed il numero totale dei record presenti nella base dati. I piccoli pulsanti, consentono di passare al primo record, a quello precedente, al successivo ed all'ultimo.

Abbiamo detto che il dataset è solamente una rappresentazione "virtuale" dei dati memorizzati nel database. Ciò è facilmente verificabile: si provi a spostarsi tra i vari record quindi a cancellarne uno a caso cliccando sul pulsante Elimina (il penultimo) della barra di navigazione. Terminando l'esecuzione dell'applicazione di prova (clic sulla "X" della form, in alto a destra) e rieseguendola (Avvia debug), i record indicati come presenti nel database torneranno ad essere 29, così come inizialmente.

Seguendo la stessa procedura che abbiamo seguito per l'aggiunta del campo Company sulla form, aggiungiamo il campo ID della tabella Customers. In questo modo, eseguendo l'applicazione in modalità di debug, verrà visualizzato il codice identificativo (ID) associato a ciascuna società presente nel database, all'interno della tabella Customers.


  1. Avatar
    montanarif
    14/10/2011 14:30:40
    mi spiace ma la datagrid a me non si aggiorna allo scorrere degli id, ho provato tre volte, come è possibile? Grazie
Visual Basic 2010 e ADO.NET: accesso ai dati / seconda puntata - IlSoftware.it