BETA, la rivista ipertestuale tecnica
BETA, la rivista ipertestuale tecnicaBarra BETA
Sommario Registrazioni a BETA Redazione Liste/Forum Informazioni Indici BETA La rivista ipertestuale tecnica Collegamento al sito Web
BETA - Programmazione

BETA 2499.7 - Programmazione - Microsoft Visual Basic 6: Connessioni 'ADODB' dinamiche - Parte I | Parte II

Microsoft Visual Basic 6: Connessioni 'ADODB' dinamiche

    Come dichiarare e creare (in fase di esecuzione) una ADODB Connection per gestire un Database tramite Recordsets, senza alcun bisogno di oggetti 'Statici' sui form

Parte I

Alessandro Amatizi
Collaboratore, BETA

Panoramica sui metodi di accesso ai dati in VB6

Sicuramente Microsoft Visual Basic è uno strumento molto potente per quanto riguarda la gestione di dati. Naturalmente ciò comporta che l'argomento in questione sia abbastanza complicato. Noi ci limiteremo ad una descrizione sommaria dei principali metodi di accesso (DAO, RDO, ADO) e ad un approfondimento dell'ADO.

Oggetto DAO (Data Access Objects)

E' stato il primo oggetto introdotto in Vb (già nella versione 3). Uno dei suoi maggiori pregi è la flessibilità e la quantità di funzionalità che offre per la gestione dati. Bisogna però riconoscere che una grande flessibilità lo può rendere poco efficiente, quindi è consigliato per le applicazioni di piccolo taglio (per lo più database locali).

Oggetto RDO (Remote Data Objects)

E' sicuramente più indicato per lo sviluppo di applicazioni aziendali a larga scala. E' comunque molto simile a DAO, ma è molto più veloce e sfrutta una quantità minore di risorse. Naturalmente quaste caratteristiche lo rendono più complicato nell'utilizzo ripspetto a DAO. Dato che RDO riesce a gestire molto bene le connessioni cliente/server e DAO quelle locali, spesso l'accoppiata DAO-RDO si rivela molto efficace per la gestione di applicazioni 'miste' di accesso ai dati.

Oggetto ADO (ActiveX Data Objects)

Questo metodo di accesso riesce a combinare i vantaggi di DAO e RDO in un'unica soluzione. Si può connettere a qualsiasi tipo di database, sia esso locale o remoto, relazionale o non relazionale. E' molto efficiente e presto rimpiazzerà completamente i due predecessori. Inoltre solamente tramite ADO si possono sfruttare alcune nuove caratteistiche del Visual Basic 6, come ad esempio il Data Report. Il modello ADO consiste di 8 tipi di oggetti (simili al modello RDO); di questi 8 i più importanti sono 3:
  1. Oggetto Connection: contiene informazioni riguardanti il fornitore dei dati e lo schema del database
  2. Oggetto Recordset: contiene tutti o parte dei records di una tabella del database indicato nell'oggetto Connection
  3. Oggetti Field: si trovano all'interno degli oggetti recordset e rappresentano le colonne delle tabelle del database
Riportiamo (per conoscenza) anche gli altri 5 oggetti: Command, Parameter, Error, Errors, Property.

ADO 2.0 viene distribuito con VB6 in due forme diverse: la prima è una libreria che si chiama ADODB (Microsoft ActiveX Data Object 2.0 Library) e che comprende tutti gli oggetti ADO, adattandosi quindi alla maggior parte dei progetti; la seconda è ADOR (Microsoft ActiveX Data Objects Recordset 2.0 Library), che comprende solamente il supporto per i recordset e rende quindi più leggeri i requisiti di sistema. Noi analizzeremo i procedimenti fondamentali per l'utilizzo dell'ADODB e naturalmente ciò che diremo per quanto riguarda i recordset è valido per l'ADOR; l'unica differenza è che, non avendo a disposizione nell'ADOR l'oggetto connection, viene automaticamente creata una nuova connessione alla fonte dati ogni volta che si apre un recordset. Questo non accade, come vedremo, nell'ADODB dove, una volta stabilita la connessione tramite l'oggetto Connection, si possono aprire più recordeset che prendono dati dalla connessione definita. E' importante ricordare una cosa: se nel corso delle operazioni venisse modificata la struttura della fonte dati (ad esempio venisse creata una tabella o modificato il nome di un oggetto Field di un database) sarebbe necessario chiudere e riaprire la connessione alla fonte dati.

Principali metodi di utilizzo di ADODB:

Analizzeremo due principali metodi di utilizzo dell'ADODB: ADODC (ADO Data Control) e modello ad oggetti ADO.

Utilizzo dell'ADODC (ADO Data Control)
ADODC è un controllo di ADO che include numerosi eventi programmabili. Naturlamente si deve impostare una stringa di connessione (tramite la proprietà Connectionstring) ad una fonte dati; quaesto si può fare sià in fase di progettazione che durante l'esecuzione. Naturalmente impostando in fase di progettazione la fonte dati l'applicazione rischia di essere poi 'legata' alla fonte dati stessa. Il primo passo da seguire per utilizzare questo metodo è quello di inserire in un form del progetto l'oggetto ADODC ed assegnare un nome (ad es. AdodcProva). Ora possiamo impostare le proprietà direttamente dalla sezione 'Proprietà' di VB oppure da codice nel modo seguente:

*********
Dim StringaConn as string
StringaConn = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data_
  Source=C:\Prova\Prova.mdb"
AdodcProva.connectionstring = StringaConn
In questo caso abbiamo creato una connessione ad una fonte dati di tipo Microsoft Jet OLEDB su un database chiamato 'Prova.mdb' Successivamente dobbiamo specificare qual'è il RecordSource dell'oggetto Adodc, cioè dobbiamo specificare quali record (e di quale tabella) devono essere presi in considerazione; naturalmente anche in questo caso possiamo ricorrere alla finestra di proprietà di ADODC oppure impostare da codice il RecordSource nel seguente modo:
*********
AdodcProva.Recordsource = "Select * from Tabella1;"
Abbiamo preso tutti i record della tabella 'Tabella1'; naturalmente si può specificare qualsiasi istruzione SQL come RecordSource di un ADODC (di qui le grandi potenzialità del metodo ADO). Infine si devono 'caricare' questi dati specificati nell'oggetto ADODC, tramite il metodo Refresh:
*********
AdodcProva.Refresh
*********
*********
Ora i dati sono disponibili nell'oggetto ADODC. Ci sono molti oggetti in VB che si possono agganciare all'ADODC. Primo di tutti è il DataGrid: una volta inserita nel form una DataGrid si può impostare l'origine dati per questo oggetto tramite la proprietà DataSource (anche in questo caso si può decidere se impostare la proprietà in fase di progettazione o in fase di esecuzione). Se invece ci interessano solo pochi campi di una tabella (ad es. Nome e Cognome di una Rubrica), si possono agganciare dei textBox all'ADODC, specificando anche il campo da agganciare:
********
TextBox1.DataSource = AdodcProva
TextBox1.DataField = "Cognome"
TextBox2.DataSource = AdodcProva
TextBox2.DataField = "Nome"
Ogni volta che viene generato il Refresh per l'oggetto ADODC i contenuti del TextBox1 e TextBox2 verranno aggiornati (Naturalmente sul primo Record del RecordSource). Lo stesso vale per il Datagrid e per gli altri oggetti che possiamo agganciare all'ADODC.


Collegamento d'articolo

Parte I | Parte II
Successivo: Parte II


Articoli correlati

Altri Articoli della stessa Rubrica...

Siti Web

Elenco di siti consigliati da BETA... (est.)


Alessandro Amatizi è Collaboratore di BETA dal 2000; è raggiungibile su Internet tramite la redazione oppure all'indirizzo amatizi@nice.it.

Ultima revisione:
URL: http://www.beta.it/beta/bs029801/2499.7/b2499aa1.htm

Copyright © 1995-2000 BETA, tutti i diritti sono riservati. E' vietata la riproduzione senza autorizzazione dell'editore o dell'autore dentro i termini e le condizioni della Licenza Pubblica BETA (LPB)

BETA La rivista ipertestuale tecnica (http://www.beta.it/beta)email info@beta.it
BETA: Frontespizio | Registrazioni | Redazione | Liste/Forum | Indici | Guida | Copyright