Ricerca

lunedì 29 agosto


Visual Basic 2005 passo-passo: Accesso ai dati

Visual Basic 2005 passo-passo: Accesso ai dati

di Michele Nasi (15/09/2006)

ADO.NET è il paradigma, introdotto con la tecnologia .NET di Microsoft, per la gestione delle informazioni contenute all'interno di database. In questo articolo illustreremo in che modo sia possibile visualizzare, modificare e ricercare informazioni in un database utilizzando Visual Basic 2005. ADO.NET ha fatto la sua prima comparsa in Microsoft Visual Studio .NET 2002 ed è oggi utilizzato in tutti i programmi che compongono la suite "Visual Studio 2005" compresi Visual Basic, Visual C++, Visual J# e Visual C# sostituendo i modelli di accesso ai dati ADO (ActiveX Data Objects) e RDO (Remote Data Objects) che avevano caratterizzato Visual Basic 6.

Con l'obiettivo di rendere la guida fruibile da parte di ogni lettore, ci riferiremo alla versione Express Edition di Visual Basic 2005, prelevabile gratuitamente dal sito web di Microsoft, in italiano, ed utilizzabile senza limitazioni.

L'accesso al database e la manipolazione dei dati in esso contenuti saranno possibili mediante una combinazione di codice di programmazione e l'utilizzo dei comuni controlli che siamo soliti incontrare in tutte le finestre di Windows (textbox, etichette di testo, menù, barre degli strumenti e così via).

Attraverso Visual Basic 2005 è quindi possibile creare un'interfaccia, di semplice utilizzo - denominata "front end" - che permetta, con pochi clic del mouse, da parte di un comune utente, di effettuare variazioni o qualunque tipo di interrogazione sul database d'interesse.
Visual Basic 2005 consente di "agganciarsi" a qualunque tipo di sorgente di dati, sia essa memorizzata in locale oppure disponibile su macchine remote.

Le versioni "Express" dei programmi che compongono la suite Visual Studio 2005 (compreso, quindi, anche Visual Basic 2005 Express Edition) sono prelevabili gratuitamente sino al 6 Novembre 2006 dal sito ufficiale di Microsoft.
Visual Basic 2005 Express Edition - così come gli altri software in versione "Express - sono utilizzabili liberamente anche per lo sviluppo di applicazioni commerciali.
Vi forniamo il link per procedere al download dell'immagine in formato ISO del CD d'installazione di Visual Basic 2005 Express Edition in italiano. Tale file ISO dovrà essere masterizzato su un normale supporto CD ROM utilizzando il software di masterizzazione preferito (ad esempio, "Nero Burning ROM" o "CDBurnerXP Pro").

Ulteriori informazioni su VB2005 Express Edition sono reperibili cliccando qui mentre in questa pagina potete consultare le risposte a tutte le domande più frequenti in merito.
L'immagine ISO di Visual Basic 2005 Express Edition in italiano è prelevabile gratuitamente cliccando qui (460 MB circa).

Cominceremo con il connetterci con un normale database in formato Microsoft Access: l'utilizzo di SQL Server 2005 (già integrato anche nella versione Express di Visual Basic 2005) sarà trattato prossimamente con un articolo dedicato, sempre nelle pagine de IlSoftware.it.

Già qui, tuttavia, getteremo le basi per la gestione di database tramite Visual Basic 2005: la prima connessione al database Access verrà stabilita servendoci della procedura passo-passo "Configurazione guidata origine dati". Si provvederà, quindi, a creare un "dataset" ossia un sottoinsieme dei campi del database e dei record (provenienti da una specifica tabella della sorgente dati), utili per le operazioni che la nostra applicazione dovrà effettuare.

In Visual Basic 6 le informazioni provenienti da una base dati erano rappresentate, in ogni applicazione, attraverso l'uso di "recordset"; in Visual Basic 2005 si ricorre ai "dataset", una sorta di "immagine" del database al quale si sta accedendo. I "Data control" e gli "ADO Data control" di VB6 sono scomparsi in Visual Basic 2005.
Il formato di dati usato internamente da ADO.NET è l'XML (Extensible Markup Language): ciò rende più semplice l'utilizzo di sorgenti di dati XML e l'adozione di ADO.NET in programmi concepiti per il web.

ADO.NET mette a disposizione numerosi oggetti che permettono di recuperare e modificare le informazioni contenute in un database.
I passi che riassumono l'accesso ad un database possono essere così riassunti:
1) Creazione di una connessione. In questa fase vengono specificate le informazioni riguardanti il database d'interesse. Vengono costruite quindi "le fondamenta" per la connessione degli altri controlli e componenti che verranno utilizzati in Visual Basic 2005.
2) Attraverso la procedura "Configurazione guidata origine dati" si crea un "dataset" ossia una rappresentazione di una o più tabelle del database sulle quali si prevede di effettuare interventi attraverso l'applicazione Visual Basic in corso di sviluppo.
3) La "Configurazione guidata origine dati" aggiunge al progetto Visual Basic anche uno speciale file XML quindi inserisce un "table adapter" ed un "data navigator". Questi ultimi sono controlli che permettono di gestire le operazioni di recupero di dati dal database, l'effettuazione di modifiche sullo stesso, la navigazione tra i vari record presenti.

Iniziamo con il provare a connetterci con un database di esempio in formato Access 2002. Si tenga presente che, ovviamente, non è necessario aver installato Microsoft Access ma solo Visual Basic 2005: ADO.NET offre infatti l'interfaccia che rende possibile la gestione del formato di database di Access (così come di altri formati).
Il database che abbiamo preparato per l'esempio e che vi proponiamo, si chiama fatture.mdb ed è prelevabile cliccando qui.

- Avviate Visual Basic 2005 quindi cliccate su File, Nuovo progetto...; selezionate "Applicazione Windows"
- Fate clic sul menù Dati quindi sul comando Mostra origine dati
- Cliccate sul link Aggiungi nuova origine dati
La finestra "Configurazione guidata origine dati" è una caratteristica "inedita", introdotta per la prima volta nell'interfaccia utente di Visual Studio 2005. La procedura guidata richiede con quale tipo di database ci si voglia collegare (database locale o remoto, Web service, oggetto dati personalizzato creato precedentemente), stabilisce una connessione e provvede a creare uno speciale "dataset" per la gestione di tabelle e campi specifici.

- Fate doppio clic sull'icona "Database" quindi sul pulsante Nuova connessione.

Dato che, nel nostro caso, siamo interessati a lavorare su un database in formato Access, cliccate sul pulsante Modifica... e selezionate la voce "File di database Microsoft Access".
Cliccate quindi sul pulsante Sfoglia... ed indicate, come sorgente dati, il file fatture.mdb che avete precedentemente provveduto a prelevare. Lasciate invariati i campi "Nome utente" e "Password".

Cliccando sul pulsante "+" visualizzato accanto alla dizione "Stringa di connessione", Visual Basic 2005 mostrerà le informazioni che esso necessita per connettersi con la tipologia di database selezionato. La stringa di connessione contiene il percorso del file database ed eventualmente nome utente e password (attenzione allorquando effettuate copie di backup dei vostri file sorgente da una locazione ad un'altra: proteggeteli sempre da utenti malintenzionati, potenzialmente interessati a rubare le credenziali di accesso ai vostri database...).

Abbiamo detto in precedenza che la stringa di connessione contiene percorso e nome del file oltre, eventualmente, a credenziali di accesso opzionali (i.e. nome utente e password). La stringa di connessione contiene anche un'altra importante informazione: essa indica anche quale "provider" di dati viene usato. Nel caso di Access, viene impiegato Microsoft.Jet.OLEDB.4.0, un componente che, operante ad un livello inferiore, conosce come connettersi ad una specifica tipologia di database e come estrarre dati.
I più famosi provider che Visual Basic 2005 e, più in generale, Visual Studio 2005, mette a disposizione sono il Microsoft Jet OLE DB e Microsoft SQL sebbene esistano anche provider per la connessione ad altri popolari formati di database.

Se si usa il Microsoft Jet OLE DB, è indispensabile accertarsi di avere installato l'ultima versione dei Microsoft Data Access Components (nel momento in cui scriviamo l'ultima versione degli MDAC è la 2.8 SP1, prelevabile da qui). Per maggiori informazioni, è possibile far riferimento alla pagina "Microsoft Universal Data Access".

Cliccando sul pulsante Avanti, Visual Basic 2005 informa lo sviluppatore sul fatto che il database selezionato (memorizzato in locale) non si trova nel progetto corrente. Rispondendo in modo affermativo, il database verrà automaticamente copiato nella cartella del progetto ogniqualvolta l'applicazione viene eseguita.

La finestra successiva richiede se salvare la stringa di connessione nel file di configurazione dell'applicazione: tenete presente che ogni volta che avvierete l'applicazione, la base dati sarà nuovamente copiata dall'origine all'interno del progetto.
Lasciate attivata la casella Sì, salva la connessione con nome "fattureConnectionString": si tratta della scelta ideale se si ha in programma lo sviluppo di un'applicazione commerciale.

A questo punto la procedura guidata propone gli elementi che costituiscono il database (tabelle, campi, viste, stored procedures,...). Si chiama "dataset" l'insieme di oggetti database (ad esempio, tabelle e campi) che si sono selezionati in questa finestra e che si vogliono usare nell'applicazione in fase di sviluppo. Il nome assegnato in modo predefinito, nel nostro caso, è fattureDataSet ma è possibile modificaro liberamente, anche in un secondo tempo.

Iniziamo con l'inserire nel dataset solo la tabella "Clienti" quindi clicchiamo sul pulsante Fine.

Cliccate ora sulla "linguetta" Esplora soluzioni (oppure sul menù Visualizza, Esplora soluzioni). Qui, Visual Basic 2005 riassume tutti gli elementi che compongono l'applicazione. Nel nostro caso, rispetto ad un progetto appena avviato, in più troviamo elencati il file database fatture.mdb e fattureDataSet.xsd. Quest'ultimo è un file in formato XML che descrive le tabelle, i campi, i tipi di dato e gli altri elementi che compongono il dataset appena creato.

Fate clic con il tasto destro del mouse sul file fattureDataSet.xsd. e scegliete il comando Visualizza finestra di progettazione. Attraverso la finestra che comparirà a video - detta anche Dataset designer -, lo sviluppatore ha modo di ottenere una rappresentazione visuale degli elementi che compongono il dataset creato in precedenza. A questo livello, è data anche la possibilità di creare componenti aggiuntivi che siano in grado di colloquiare con l'applicazione e con il database (od i database) sorgenti dei dati.
Da qui, il programmatore può anche controllare le proprietà dei vari campi del database. Ad esempio, cliccando sui campi "Ragione_sociale", "Indirizzo", "CAP" e così via, si possono verificare dettagli quali la lunghezza massima consentita, i tipi di dati permessi, i valori predefiniti impostati e così via. Eventualmente, è possibile intervenire effettuando delle variazioni.

Il modo più semplice per visualizzare le informazioni contenute in un dataset all'interno di un form, consiste nel "trascinare" (drag&drop) gli oggetti d'interesse dalla finestra Origini dati verso il form Visual Basic stesso. Chi ha lavorato per anni con le precedenti versioni di Visual Basic, troverà quest'operazione di una semplicità assolutamente disarmante.
Supponiamo di voler creare una finestra con la lista dei clienti della nostra ipotetica azienda di servizi e consulenze. L'elenco dei clienti dovrà essere ricavato dal database Access poco fa collegato alla nostra applicazione.

Come primo passo, portiamoci nella finestra Esplora soluzioni quindi facciamo doppio clic sul form denominato Form1.vb. Modifichiamone il nome accedendo alla finestra delle sue proprietà (tasto F4), portandoci in corrispondenza della voce (Name) (la terza dall'alto in basso): facciamo doppio clic su di essa e digitiamo frmPrincipale.

Modifichiamo anche il titolo di quella che diverrà la finestra principale della nostra applicazione: portiamoci in corrispondenza della voce Text e digitiamo Gestione fatture.

Inseriamo ora un pulsante facendo doppio clic sulla voce "Button" contenuta nella sezione "Controlli comuni" della Casella degli strumenti.


Trasciniamo il pulsante più o meno al centro del form quindi modifichiamone il nome in btnClienti agendo, come nel caso del form, sulla sua proprietà "(Name)".
Per modificare la stringa di testo da far apparire sul pulsante, usiamo la proprietà Text: scriviamo Mostra elenco clienti.


Proviamo ad avviare l'applicazione scegliendo il comando Avvia debug dal menù Debug oppure premendo il tasto F5. Com'è possibile verificare, verrà visualizzato un unico form contenente il pulsante "Mostra elenco clienti": cliccando su tale pulsante non accade alcunché. Questo accade perché all'evento "Click" associato al pulsante btnClienti non è stato ancora collegato nulla.

La finestra "Gestione fatture", inoltre, appare ridimensionabile a piacimento e non risulta centrata rispetto allo schermo. Iniziamo col sistemare questi ultimi due aspetti.
Chiudiamo l'applicazione cliccando sulla "X" in alto a destra in modo da tornare nella finestra di progettazione di Visual Basic.
A questo punto, clicchiamo sul form ed accediamo alla finestra delle proprietà. Modifichiamo l'impostazione della proprietà FormBorderStyle in FixedSingle e di StartPosition in CenterScreen. Premiamo F5 per controllare il risultato delle modifiche: il form risulterà adesso non più ridimensionabile e perfettamente centrato rispetto allo schermo.

Aggiungiamo ora un nuovo form al progetto: in questa nuova finestra ci proponiamo di visualizzare l'elenco dei clienti recuperati dal database. Clicchiamo quindi su Progetto, Aggiungi Windows Form...
Nella casella "Nome" digitiamo frmClienti.vb quindi clicchiamo sul pulsante Aggiungi.
Nella finestra "Esplora soluzioni" verrà ora indicata la presenza di due form: frmClienti.vb e frmPrincipale.vb:

Articolo seguente: Spam: strumenti e strategie per difendersi dalla posta indesiderata
Articolo precedente: Guida alle migliori estensioni per Mozilla Firefox
261140 letture
Ultimi commenti
inviato da Dodiro > pubblicato il 30/08/2015 17:09:23
Questo tutorial è fatto veramente bene e quindi complimenti all'autore. Con Visual Studio 2015 l'accesso ad alcune funzionalità dell'IDE è leggermente diverso ma comunque si riesce benissimo a far funzionare il programma della visualizzazione dei Clienti e selettivamente delle loro fatture.
inviato da Lettore anonimo > pubblicato il 29/12/2014 23:00:14
Articolo interessantissimo...solo che con Win 7 professional 64 bit + Visual Studio Express 2005 ho un problema di registrazione sul provider Jet 4.0!? Come posso risolverlo? Nicola
inviato da Federico Montanari > pubblicato il 06/10/2011 12:36:01
:professore: Maestro :professore: Un sentito grazie per la spiegazione che ho seguito passo passo e grazie a te mi si è aperto un mondo. Come minimo ti sei meritato il Paradiso :angioletto: :lol: :approvato:
inviato da Beneder > pubblicato il 23/09/2011 11:20:15
Grazie, ottima guida
inviato da feigor > pubblicato il 16/07/2011 10:08:11
Complimenti ottima Guida continuerò a seguirti per tutte le altre puntate. Ciao
inviato da IncognitaX > pubblicato il 15/03/2011 19:33:08
Ciao, volevo farti i complimenti per le spiegazioni chiarissime e che davvero non danno nulla per scontato. Mi hai chiarito molti dubbi, grazie, ciao.
inviato da ciccio.alfe > pubblicato il 22/01/2011 12:12:38
Davvero bravo, cercavo da tempo questa spiegazione... grazie mille
inviato da Andrea Maxim > pubblicato il 09/01/2011 18:14:56
Complimenti, raramente si trova un tutorial così esaustivo. Io per seguirlo ho utilizzato un pc avente sistema operativo Windows Xp con Microsoft Visual Basic 2008 Express Edition e non ho trovato una virgola di differenza rispetto al 2005. Non so se ad oggi sia già stato pubblicato il seguito. Grazie per la conoscenza che sei riuscito a trasmettermi.


Leggi tutti i commenti

Commenta anche su Facebook
Link alla home page de IlSoftware.it

P.IVA: 02472210547 | Copyright © 2001 - 2016

PRIVACY | INFORMATIVA ESTESA COOKIES | Info legali | Pubblicità | Contatti | Storia | Supporta | Credits

Segui i nostri Feed RSS de IlSoftware.it Segui i nostri Feed RSS