Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Lettura dei dati tra tabelle relazionate

Concludiamo questa guida sull'iterazione tra ASP ed i database con un esempio più complesso di lettura dei dati, ovvero attingendo informazioni da più tabelle in relazione tra loro, caso specifico delle tabelle "autori" e "libri" create nei capitoli pratici iniziali della guida stessa.

La relazione, lo ricordo, avviene per mezzo dei campi "aut_id" e "lib_autore", dove il primo è di tipo Contatore ed è la matricola dell'autore ed il secondo è di tipo Numerico che fa riferimento alla matricola dell'autore della relativa tabella, principio per cui si evita la ridondanza dei dati a favore della normalizzazione dell'applicazione.

(L'articolo continua più sotto...)

Per maggiori informazioni tecniche in merito consiglio di leggere la FAQ SQL sulla ridondanza e la normalizzazione dei dati.

Prendiamo il file "leggi.asp" creato nella lezione 8 di questa guida e modifichiamolo in modo da far accedere l'a pagina ASP ad entrambe le tabelle, estraendo cosi i dati in maniera relazionale e logica, associandoli tra loro:

<%@LANGUAGE = VBScript%>
<%
    Dim sc, cn, rs
    sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open sc & Server.MapPath("database.mdb")
    Set rs = Server.CreateObject("ADODB.Recordset")
%>
<html>
<head>
<title>Lettura dei dati</title>
</head>
<body>

<h1>Lettura dei dati</h1>

<%
    Dim SQL
    SQL = ""
    SQL = SQL & "SELECT * FROM autori, libri "
    SQL = SQL & "WHERE aut_id = lib_autore ORDER BY aut_id ASC"
    rs.Open SQL, cn, 1
    If rs.EOF Then
%>
<p>Nessun record trovato!</p>
<%
    Else
        While rs.EOF = False
%>
<p>
ID: <%=rs("aut_id")%><br>
Autore: <%=rs("aut_nome")%><br>
Libro: <%=rs("lib_titolo")%>
</p>
<%
            rs.MoveNext
        Wend
    End If
    rs.Close
%>

</body>
</html>
<%
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
%>
Sostanzialmente abbiamo modificato solo la stringa SQL da eseguire
SELECT * FROM autori, libri WHERE aut_id = lib_autore ...
mettendo in relazione le due tabelle richiamandole entrambe nella porzione FROM ed associando i cosiddetti campi di JOIN, ovvero di relazione.

Ci siamo poi limitati ad estrarre i dati che ci interessano:

<p>
ID: <%=rs("aut_id")%><br>
Autore: <%=rs("aut_nome")%><br>
Libro: <%=rs("lib_titolo")%>
</p>
Lanciate il file all'indirizzo
http://localhost/test_db/leggi.asp
per gustare il risultato.

Per ulteriori informazioni sulle JOIN e sulla tecniche SQL di relazione dei dati leggere il capitolo della guida ad SQL del sito JOIN - Relazioni tra più tabelle.

Corsi
Corso ASPCorso ASP
Corso completo per la creazione di siti Web dinamici. A partire da 39 €.
Corso ASP da ZeroCorso ASP da Zero
Imparare Microsoft ASP e VBScript da zero. A partire da 29 €.
Corso ASP e AccessCorso ASP e Access
Gestione di un database MS Access con ASP. A partire da 29 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122