Un aspetto fondamentale di ASP è l'utilizzo dei componenti, che non sono altro che ActiveX come quelli che si possono creare con Visual Basic, Visual C++, Visual J++ , Delphi, eccetera.
Il più utile tra tutti i componenti ASP è il Database Access, detto anche ActiveX Data Object (ADO). Nella pubblicazione di database su Web si utilizza questo componente e gli oggetti in esso contenuti per leggere e scrivere su fonti dati ODBC ( Open Database Connectivity).
Come interrogare un database con ASP
- un database;
- il driver OBDC di Access97 (contenuto nel file ODBCJT32.DLL) o quello di SQLServer;
- conoscenza di ADO;
- conoscenza di SQL;
ADO
Come detto prima, ADO è lo strumento necessario per operare sulla fonte di dati ODBC (il vostro database). Di questo componente bisogna assolutamente conoscere l'oggetto Connection, indispensabile per il suo utilizzo.
L'oggetto Connection viene creato tramite il metodo CreateObject dell'oggetto Server e utilizza una variabile per ricevere il riferimento ad un'oggetto. Una volta creato, l'oggetto Connection può essere utilizzato per aprire una connessione con qualsiasi fonte di dati ODBC.
Sorgente di dati ODBC di Windows
Quest'operazione avviene con l'ODBC Data Source Administrator, generalmente localizzato nel Pannello di controllo. La realizzazione della sorgente di dati avviene selezionando la pagina System DNS nel property sheet ODBC data source Administrator. In questa pagina premere il pulsante Add... per visualizzare un elenco di tutti i driver ODBC disponibili. Dopo aver selezionato il driver ODBC appropriato premere il pulsante Finish che introduce un nuovo oggetto.
Il codice seguente stabilisce una connessione con una fonte di dati ODBC Microsoft Access Driver chiamata Registrazioni.
<% ' dichiaro la variabile che conterrà l'oggetto Connection Dim conn ' creo l'oggetto Connection Set conn = Server.CreateObject("ADODB.Connection") ' apro la connessione con la fonte di dati conn.Open "Registrazioni" %>
Connessione DSN-less
In alcuni casi, ad esempio per non costringere il proprio amministratore a creare una quantità elevata di sorgenti ODBC, è possibile creare, ma solo nel caso in cui il database sia Access, una connessione DSN-less.
Tutto quello per compiere un'operazione di questo tipo è usare al posto del codice precedente, quest'altro:
<% ' dichiaro la variabile che conterrà l'oggetto Connection Dim conn 'creo l'oggetto Connection Set conn = Server.CreateObject("ADODB.Connection") 'apro la connessione con la fonte di dati conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/data/database.mdb") %>
Naturalmente al posto di "/data/database.mdb" va inserito l'esatto percorso di ricerca in cui è stato salvato il file mdb.
Ed ora...
Una volta aperta la connessione con la fonte di dati, è possibile utilizzare un oggetto Recordset per recuperare le informazioni. L'oggetto Recordset consente di eseguire le istruzioni SQL restituendo un insieme di record filtrati tramite la query. Come l'oggetto Connection, Recordset viene creato utilizzando l'oggetto Server.
<% ' dichiaro la variabile che conterrà l'oggetto Recordset Dim rs 'creo l'oggetto Recordset Set rs = Server.CreateObject("ADODB.Recordset") 'Eseguo la query SQL SELECT rs.Open "SELECT * FROM tabella", conn %>
Dopo aver recuperato i record è possibile leggerli con i metodi MoveFirst, MoveLast, MoveNext e MovePrevious. Il metodo Write dell'oggetto Response consente di dare in output i dati sulla pagina in HTML.
<TABLE> <% Do While not rs.EOF %> <TR> <TD><% rs.Fields("colonna").Value %></TD> </TR> <% rs.MoveNext Loop %> </TABLE>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.