Guidainlinea.com - Risorse gratuite per Webmaster

| ASP | PHP | Download | Flash | NEWS | Grafica | .NET | Basi Banner | PhpNuke | Forum | Top100 | Webring |

 
100cocktails
   

 

 

 

 

 

 

Guida ASP

L'accesso ai dati: il recordset - Parte II

Una volta connessi al nostro database (vedi lezione precedente per maggiori informazioni) siamo in grado di richiedere ad esso i dati che ci interessano. Prima cosa da fare è definire la query che vogliamo eseguire. Diciamo che vogliamo vedere tutte le relazioni esistenti fra i record delle due tabelle, la query risulterebbe la seguente:

Select * from Tabella1, Tabella2 Where Tabella1.ID = Tabella2.Tabella1_ID

Per poter passare tale richiesta al database dobbiamo creare un oggetto recordset, abbinarlo alla connessione creata e dargli la query da eseguire. Di ritorno tale oggetto ci restituirà tutti i record da noi richiesti. Tali record saranno accessibili uno per uno e un campo alla volta. 

<%

Dim oConn
Dim oRs

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("cartella/nomedb.mdb")
OConn.Open

Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.ActiveConnection = oConn
oRs.Execute "Select * from Tabella1, Tabella2 Where Tabella1.ID = Tabella2.Tabella1_ID"

if not oRS.EOF and not ors.BOF then 
while not oRs.EOF 
%>

<%
oRs.moveNext 
wend
end if

oRs.Close
Set oRS = nothing

oConn.closeSet 
oConn = nothing
%>

Listato 12

Il metodo BOF controlla che il recordset non sia all'inizio del suo contenuto, mentre il metodo EOF controlla che non sia alla fine. Se entrambe le condizioni si verifichino insieme, significa che il recordset è vuoto e che non c'è nessun dato da mostrare. In caso contrario la pagina scriverà nella tabella un record alla volta, utilizzando il metodo movenext per spostarsi da un record all'altro.

Per poter accedere ad un campo del recordset è sufficiente richiamare la collezione fields e passare il nome del campo a cui siamo interessati.
Esempio: oRs.Fields("nomefield")

In alternativa si può utilizzare la posizione del campo anziché il suo nome. Tale procedura è leggermente più veloce, ma creerebbe problemi quando la posizione dei campi è modificata nella query:
oRs.Fields(1).

Nella parte finale dello script i due oggetti, connessione e recordset, sono chiusi e dislocati manualmente (ovvero la parte di memoria RAM da loro utilizzata viene liberata e rimessa a disposizione). Tali azioni sarebbero in ogni modo eseguite da ASP stesso alla fine dell'esecuzione della pagina. È però buona regola provvedere di persona a tali azioni siccome è abbastanza importante liberare le risorse di memoria quanto prima. Negli esercizi qui riportati tali necessità non sono ben visibili, ma vi assicuro che, lavorando in grandi applicazioni, la necessità di avere una maggior quantità di risorse possibili il prima possibile è molto viva.

Lezione successiva =>

Torna all'indice!

 

.:: Le sezioni ::.

 .: HTML
 .:
ASP
 .:
PHP
 .:
CSS
 .:
.NET
 .:
CGI/PERL
 .:
Flash
 .:
Download
 .:
JavaScript
 .:
FrontPage
 .:
DreamWeaver
 .:
IIS
 .:
PaintShop Pro
 .:
SQL
 .:
VisualBasic
 .:
XML.NET
 .:
PHPNuke
 .:
PhotoShop
 .:
Basi banner

.:: Script & File ::.

 .: ASP
 .:
.NET
 .:
PHP
 .:
CGI/PERL
 .:
Movies
 .:
Basi Banner
 .:
Programmi

.:: FAQ ::.

 .: ASP
 .:
HTML
 .:
PHP
 .:
CSS

.:: Tutorials ::.

 .: ASP
 .:
PhotoShop
 .:
Flash
 .:
JavaScript

 

 

Guidainlinea.com come homepage |  Aggiungi questa pagina ai preferiti
Home | Manuali | EBooks | Libri | NewsLetter | Community | Corsi | Shopping | Guadagna | Servizi | Mandaci il tuo tutorial | Links
Per qualsiasi informazioni scrivi alla Redazione al Webmaster o per informazioni generali ad info@manuali.net - Note Legali