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