Gli oggetti di ADO che prenderemo in considerazione sono :
Per utilizzare un oggetto Connection o Recordset, occorre crearne un'istanza con il metodo CreateObject dell’oggetto Server . Per es.
conn = Server.CreateObject("adodb.connection")
recS = Server.CreateObject("adodb.recordset")
dove Conn e RecS sono variabili utente che istanziano i due oggetti, mentre adodb è il nome del componente COM che fornisce gli oggetti ADO
Effettua le operazioni di apertura, configurazione e chiusura sul database.
La connessione viene aperta con il metodo Open.
Il database può essere aperto in due modi: utilizzando il nome DSN (Data Source Name) registrato su ODBC, oppure stabilendo una connessione diretta senza usare ODBC.
In
ogni caso bisogna fornire al metodo quella che viene chiamata la stringa di
connessione
Connessione ODBC
Open Database Connectivity (ODBC) è
un'interfaccia di programmazione che consente alle applicazioni di accedere ai
DBMS (come Access, Paradox, SQL Server etc...) che utilizzano il linguaggio SQL come standard per
l'accesso ai dati.
Esempio:
//Creiamo un istanza dell'oggetto connection
<% conn=Server.CreateObject("adodb.Connection") %>
//apriamo un database specifico:
<% conn.Open("DSN=emiodb") %>
la stringa di connessione è in questo caso DSN=emiodb in cui nome emiodb è il DSN del database, un alias con cui ODBC referenzia il nostro database. Ovviamente è necessario preliminarmente aprire il servizio ODBC e creare il DSN per il database che ci interessa
Quando si finisce di utilizzare il database si chiama il metodo Close
<% conn.Close() %>
Connessione senza ODBC
In questo caso occorre specificare il provider e il path del file *.mdb
<% conn=Server.CreateObject("adodb.Connection")
//utilizziamo
il motore database di Microsoft
conn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source=C:/agenda.mdb")
In alternativa è possibile utilizzare la proprietà Provider :
conn=Server.CreateObject("adodb.connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open ("c:/agenda.mdb")
%>
Dopo aver aperto il database, si può accedere alle tabelle ed eseguire query. Per aprire una tabella o una query si devono eseguire i seguenti passaggi:
Ora vediamo come si fa a visualizzare i campi della nostra tabella/query.
All'apertura innanzitutto il puntatore al recordset è posizionato automaticamente sul primo record. Per scorrere i successivi record si utilizza il metodo movenext() . Occorre naturalmente controllare che non si finisca oltre l'ultimo record o che il recordset non sia vuoto. A questo fine vanno utilizzate le due proprietà
Infine per referenziare i campi di ogni record teniamo presente che l'oggetto
recS è una collection ed è pertanto referenziabile
come un array di oggetti. Per es. il valore del campo cognome del record
corrente sarà
recS("cognome").
<% while (!recS.eof ) {
Response.write(
recS("cognome")+ " " + recS("nome")+
" "+ recS("telefono")+"<br>" )
recS.movenext()
}
%>
Aggiunta di un nuovo record
Per aggiungere un record ad una tabella si usa il metodo AddNew(). Lo script che segue illustra come fare
<% recS.AddNew()
//inserimento dei valori nei campi
recS("nome")="Paolo"
recS("Cognome")="Rossi"
recS("telefono")="123456789"
//aggiornamento della tabella
recS.Update()
%>