Esercitazione n.8

annuncio pubblicitario
Università degli Studi della Tuscia – Corso di Laurea in Scienze della Comunicazione
Informatica 2 (Indirizzo WEB) – A.A. 2010-11– Prof. Donini
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 record in essa contenuti.
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 di nome richiesta.html, che contiene solo un modulo con un bottone di tipo SUBMIT, con
didascalia "visualizza i dati". L'attributo ACTION della form deve essere ACTION="visualizzaTutti.asp", e
l'attributo METHOD deve essere METHOD="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 2007. Supponiamo, per esempio, che la base di dati si chiami
studenti.accdb, 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 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 le istruzioni riportate sul retro.
Se la vostra base di dati ha nomi del file, o della tabella, o 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. Ad esempio, se vi chiamate Rossi, e avete creato una
cartella di nome Rossi, l'indirizzo sarebbe http://localhost/Rossi/richiesta.html
ultima modifica: 24 nov 2010
Università degli Studi della Tuscia – Corso di Laurea in Scienze della Comunicazione
<%@ 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 qualeDriver = "Provider=Microsoft.ACE.OLEDB.12.0; ";
var qualeDB = "Data Source=" + Server.MapPath("studenti.accdb") + ";";
var stringaConnessione = qualeDriver + qualeDB;
// apri la connessione al database
var connessioneADO = Server.CreateObject("ADODB.Connection");
connessioneADO.Open(stringaConnessione);
// definisci la query SQL
var queryTabella = "SELECT nome,cognome,matricola FROM tabellaStudenti";
// riempi un recordset con i dati della tabella
var listaRecord;
listaRecord = connessioneADO.Execute(queryTabella);
// trova eventuali errori
if ( connessioneADO.Errors.Count > 0 ) {
Response.Write("Errore di connessione: ");
Response.Write( connessioneADO.Errors(0).Description);
} else {
//
scandisci i record e trascrivi i dati sulla pagina html
while ( listaRecord.Eof == false ) // oppure ( !listaRecord.Eof )
{
%>
<TR>
<TD><%=listaRecord("nome").Value%></TD>
<TD><%=listaRecord("cognome").Value%></TD>
<TD><%=listaRecord("matricola").Value%></TD>
</TR>
<%
listaRecord.MoveNext();
}
}
// chiudi il recordset e la connessione
listaRecord.Close();
connessioneADO.Close();
// e rilascia la memoria occupata da recordset e connessione
listaRecord = null;
connessioneADO = null;
%>
</TABLE>
</BODY>
</HTML>
ultima modifica: 24 nov 2010
Scarica