8-Accesso ASP a una Base di Dati

annuncio pubblicitario
Informatica 2 (Indirizzo WEB) A.A. 2007-08
Esercitazione n. 8: Connessione ASP ad una base di dati Access
Scopo: Scrivere una pagina Web, che richiede la visualizzazione di una base di dati, e scrivere una pagina ASP che si
connette alla base di dati, e visualizza i risultati
Passo 1
Create una cartella col vostro cognome all'interno della cartella C:\informatica\informatica2. Tutti i file che creerete
dovranno trovarsi in questa cartella.
Passo 2
Scrivete una pagina Web " richiesta.html", che contiene solo un modulo con un bottone di tipo SUBMIT, con valore
"visualizza i dati". L'attributo ACTION della form deve essere ACTION="visualizzaTutti.asp", e l'attributo METHOD
deve essere POST
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>richiesta dati</TITLE>
<META CONTENT="text/html; charset=iso-8859-1"
HTTP-EQUIV="Content-type">
</HEAD>
<BODY>
<FORM ACTION="visualizzaTutti.asp" METHOD="POST">
<INPUT TYPE="SUBMIT" VALUE="visualizza i dati">
</FORM>
</BODY>
</HTML>
Passo 3
Scrivete o recuperate una base di dati Access. Supponiamo, per esempio, che la base di dati si chiami studenti.mdb, che
essa contenga una tabella che si chiami tabellaStudenti, i cui campi sono nome, cognome, matricola. Qualunque
differenza rispetto a queste ipotesi va adattata nella pagina seguente. La base di dati Access va copiata nella stessa
cartella della pagina precedente. Aprite le proprietà del database (tasto destro sull'icona del file), linguetta "Protezione", e
assicuratevi che che l'utente "SYSTEM" abbia i permessi per leggere e scrivere sul database. (Se così non fosse,
aggiungete l'utente SYSTEM e spuntate la casella “Controllo completo”).
Passo 4
Scrivete un file dal nome "visualizzaTutti.asp", nella stessa cartella del file precedente, con i comandi riportati sul retro.
Se la vostra base di dati ha nomi del file, della tabella, dei campi, diversi da quelli supposti prima, adattate la pagina dove
necessario.
Passo 5
Provate ad aprire la vostra pagina da Internet Explorer o da Mozilla Firefox. Il percorso da digitare nella barra degli
indirizzi è il seguente:
http://localhost/cognome/richiesta.html
dove cognome va sostituito con la cartella col vostro cognome.
<%@ LANGUAGE = JavaScript%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>visualizza tabella</TITLE>
<META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-type">
</HEAD>
<BODY>
<TABLE BORDER="1">
<THEAD>
<TR>
<TH>Nome</TH>
<TH>Cognome</TH>
<TH>Matricola</TH>
</TR>
</THEAD>
<%
// definisci la stringa di connessione
var driverString = "DRIVER={Microsoft Access Driver (*.mdb)}; ";
var databaseString = "DBQ=" + Server.MapPath("./studenti.mdb") + ";";
var connString = driverString + databaseString;
// apri la connessione al database
var adoConnection = Server.CreateObject("ADODB.Connection");
adoConnection.Open(connString);
// definisci la query SQL
var mySQL = "SELECT nome,cognome,matricola FROM tabellaStudenti";
// riempi un recordset con i dati della tabella
var adoRecordSet;
adoRecordSet = adoConnection.Execute(mySQL);
// trova eventuali errori
if ( adoConnection.Errors.Count > 0 ) {
Response.Write("Errore di connessione: ");
Response.Write( adoConnection.Errors(0).Description);
} else {
//
scandisci i record e trascrivi i dati sulla pagina html
while ( adoRecordSet.Eof == false )
{
%>
<TR>
<TD><%=adoRecordSet("nome").Value%></TD>
<TD><%=adoRecordSet("cognome").Value%></TD>
<TD><%=adoRecordSet("matricola").Value%></TD>
</TR>
<%
adoRecordSet.MoveNext();
}
}
// chiudi il recordset e la connessione
adoRecordSet.Close();
adoConnection.Close();
// e rilascia la memoria occupata da recordset e connessione
adoRecordSet = null;
adoConnection = null;
%>
</TABLE>
</BODY>
</HTML>
Scarica