Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia Lezione 3 - il Database Microsoft Acces ed il motore Jet

Il Database Microsoft Access

Acces è il prodotto di Database della Microsoft, attualmente giunto alla versione 2000, e deve il suo successo alla integrabilità con le altre applicazioni del pacchetto MS Office.
Si tratta di un Database relazionale in grado di soddisfare utenti con quantità di dati discreta, ma senza esagerare. Occorre tener presente che l'esecuzione di una Query non memorizzata nella struttura del database avviene nella memoria RAM del PC e che anche l'insieme di records risultante viene memorizzato nella stessa.
L'insieme di dati omogenei è chiamato Table (Tabella), costituita logicamente da Columns (Colonne) e Rows (Righe); quest'ultime sono ovviamente i records, mentre le colonne sono i Fields (Campi).
Il primo passo nella costruzione di un Database è quindi quello della creazione delle Tables che lo compongono (a cui potremmo in seguito anche aggiungerne altre) perlomeno come struttura vuota (senza dati).
Naturalmente Acces supporta anche l'Import di Tabelle "esterne" da varie fonti di dati, tra cui anche dBaseIII e IV e Fox-Pro: costituisce un'operazione abbastanza comune (ed anche semplice) la creazione di un Db vuoto e l'importazione poi dei propri .dbf; inoltre se vi sono i files .inf con l'indicazione degli indici associati ad ogni .dbf vengono creati anche gli indici, rendendo quindi molto comoda la trasformazione dei vecchi Database in Access.
Si potrà poi visualizzare le strutture ed eventualmente modificarle per renderle più comprensibili (i vecchi Db hanno nomi di campi che rispettano gli standard DOS) e più efficienti (non è detto che il formato adottato nella conversione dei campi numerici sia sempre quello migliore). Inoltre Acces permette di specificare delle regole di Integrità dei Dati, ad esempio se un campo è richiesto (e quindi non può essere vuoto); occorre tener presente che se la Tabella contiene già dei dati potrebbe non essere possibile aggiungere tali regole: se i dati presenti non le soddisfano verrà annullata la modifica alla struttura della Tabella. Si potranno anche in Visualizzazione Struttura aggiungere/modificare gli Indici.
Acces prevede, oltre alle Tabelle, altri oggetti principali: Query, Maschere, Report; di questi ci interessano (visto che poi i programmi li faremo in Visual Basic) principalmente le Query.
Le Query memorizzate saranno ovviamente quelle "di base" della nostra applicazione in quanto potremo eseguire al momento qualsiasi Query si renda necessaria dai nostri programmi Visual Basic.
Chi è interessato invece a sviluppare applicazioni in Acces non potrà limitarsi a questa breve introduzione, ma dovrà studiare molto più a fondo il prodotto.

Il Motore Microsoft Jet

Jet è il motore di Database della Microsoft in ambiente Windows 9x.
Supporta in modo nativo Acces ed alcuni Db ISAM e tramite ODBC supporta la connessione a Db relazionali esterni (es. Oracle).
E' basato su Collections di Oggetti, ovvero insiemi numerati di oggetti dello stesso tipo (che hanno quindi le stesse Proprietà e supportano gli stessi Metodi); nella struttura (fonte Microsoft) seguente le Collections sono in colore giallino, gli Objects in celeste.


Esaminiamo un oggetto Database: vediamo che contiene alcune Collections (TableDefs, QueryDefs, Relations) di definizione della struttura, alle quali in genere non avremo bisogno di accedere, ed altre tra cui Recordsets (= insiemi di records). E' attraverso gli oggetti di questa che avviene l'accesso ai Dati; la sequenza di operazioni sarà la seguente:

1. Apertura di un Workspace (= area di lavoro) di MS Jet; opzionale, in genere non si fa;
2. Apertura dell'oggetto Database (es: Pippo.mdb) desiderato;
3. Apertura dell'oggetto Recordset desiderato, che potrà essere sia una Tabella, sia una Query memorizzata o apertura di un nuovo oggetto di tipo Recordset (temporaneo) per un comando SQL estemporaneo;
4. Codice di programma per attuare il trattamento dati desiderato tramite gli oggetti Field.
5. Chiusura del Recordset;
6. Chiusura del Database;
7. Fine programma e tutti a nanna!



Ritorna all'Indice