Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Lettura dati da un database

I metodi per leggere le informazioni
I metodi per leggere le informazioni
Link copiato negli appunti

Abbiamo analizzato i diversi punti necessari per immettere i dati che si desiderano all'interno del database. Questa operazione non ha nessun senso se non sappiamo come prelevarli in base alle nostre esigenze personali e mostrarle all'utente finale. Provate ad esempio a pensare ad un motore di ricerca. Tutti quanti immettono i dati di un loro sito e nessuno può leggerli. Avrebbe senso? Io credo di no. Però non avrebbe nessun senso che in un motore di ricerca io inserisca un criterio di ricerca ed ottenga dati che non riguardano ciò che desidero ricevere. E' per questo motivo che bisogna conoscere abbastanza bene il linguaggio SQL per poter estrarre in modo rapido i dati a noi necessari..

Pensiamo sempre alla nostra tabella del database della pagina precedente. Fingiamo di aver immesso dei dati tramite l'apposito form e adesso osserviamone il contenuto.

Id
Titolo
Autore
Genere
1
I Viaggi di Gulliver Jonathan Swift Avventura
2
I libri della giungla Rudyard Kipling Avventura
3
Robin Hood Alexander Dums Avventura
4
Il marchio di caino Carolyn Wells Giallo
5
Maigret a New York George Simenon Giallo
6
La lista di Schindler Thomas Keneally Storico
7
Presunto Innocente Scott Turow Giallo

Ciò che otterremo dallo script illustrato e spiegato nella pagina successiva, viene rappresentato dalla seguente immagine.

figura

Come accennato nella pagina precedente, ora vi mostro il codice utilizzato nello script per realizzare la tabella raffigurata nell'immagine appena vista.

<html>
<head>
<title>Mostra Dati Presenti</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<TABLE border="0" width="400">
<TR bgcolor="#000000">
<TD width="25%"><center><strong><font
color="#FFFFFF">Id</font></strong></center></TD>
<TD width="25%"><center><strong><font
color="#FFFFFF">Titolo</font></strong></center></TD>
<TD width="25%"><center><strong><font
color="#FFFFFF">Autore</font></strong></center></TD>
<TD width="25%"><center><strong><font
color="#FFFFFF">Genere</font></strong></center></TD>
</TR>
<%
dim strCode
strCode="innovatel"
dim intVolta
intVolta="0"

Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("libreria.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn
sql = "SELECT * FROM libri"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3

do while not(rs.eof)
if intVolta="1" then
intVolta="0"
intTesto="#00FF99"
intSfondo="#FFFF00"
else
intVolta="1"
intTesto="#FFFF99"
intSfondo="#33CCFF"
end if
%>
<TR bgcolor="<%=intSfondo%>">
<TD width="25%"><%=rs(0)%></TD>
<TD width="25%"><%=rs(1)%></TD>
<TD width="25%"><%=rs(2)%></TD>
<TD width="25%"><%=rs(3)%></TD>
</TR>
<%
rs.movenext
loop
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
%>
</TABLE>
</center>
</body>
</html>

Com'è possibile osservare dalla lettura del codice appena riportato, la parte di connessione e di fine connessione al database è la stessa illustrata in precedenza. Per questo motivo ci soffermeremo solamente sulla parte centrale dello script, ovvero dove si interagisce col database. Unica nota da fare sulla parte iniziale, riguarda la stringa sql (SELECT * FROM libri) che interroga il database. Grazie a questa saremo in grado di estrarre tutti i dati presenti all'interno della tabella indicata (cioè libri). Ora entriamo nel vivo dello script, cioè all'interno del ciclo do while-loop. Come si può notare, la condizione di uscita del ciclo è rs.eof. Già, ma cosa significa? La sigla eof è l'abbreviazione delle tre parole End Of File (Fine del file). Questo significa che il ciclo verrà eseguito sino a quando avrà dati da mostrarci all'interno del database. A questo punto viene spontanea una domanda:"ma come fà il nostro script a sapere quando finiscono i dati della tabella libri?". La risposta a questa domanda la si trova in fondo al ciclo, esattamente alla riga prima del loop. Infatti osserviamo la sintassi rs.movenext: indica di avanzare di un record all'interno della tabella. Come funziona esattamente l'oggetto RecordSet lo vedremo successivamente in una lezione specifica. All'interno del ciclo, possiamo osservare due blocchi di codice fondamentale. Il primo ha il compito di scegliere in base al valore di una variabile, il colore di sfondo (tecnica usata già personalmente in altri script presenti all'interno di freeasp). L'altro blocco, ha invece il compito di mostrare a video gli elementi estratti dalla posizione corrente del recordset. Per far questo si possono usare due metodi. Il classico response.write oppure la sua abbreviazione <%= %>. Nel nostro caso (per dare una maggior facilità di lettura) è stato usato appunto quest'ultimo.

Ti consigliamo anche