Accesso a basi di dati con ASP Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 1 Algoritmo per visualizzare un DB 1. “creare” una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare la risposta del database in un insieme di record “recordSet” 4. Visualizzare i record Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 1 2 Connessione al database § Metodo: usare una CONNESSIONE STRINGA § Specificare il DRIVER Access Driver (.mdb) ) DI (Microsoft § Specificare il percorso completo del file del database Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 3 Percorso completo di un file § Metodo MapPath dell’oggetto Server di ASP § Sintassi: Server.MapPath(“percorso relativo del file”) Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 2 4 Costruire la stringa di connessione 1. costruite la stringa che specifica il driver e quella che specifica il percorso 2. Concatenate le stringhe driverString = "DRIVER={Microsoft Access Driver (*.mdb)}; " databaseString = "DBQ=" & Server.MapPath("./miodatabase.mdb") & ";" connString = driverString & databaseString Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 5 Creare la connessione § Metodo createObject dell’oggetto server § Sintassi: set objConn = server.createObject("ADODB.connection") L’argomento ADODB.connection stabilisce che l’oggetto creato è una connessione ActiveX Data Object DataBase Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 3 6 Aprire la connessione objConn.open connString “apre” una connessione al Database specificato nella stringa di connessione connString Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 7 SQL § Structured Query Language § Linguaggio per l’interrogazione di basi di dati § Visibile in Access dal menù Visualizza Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 4 8 esempio § SELECT personale.* FROM personale; § SELECT personale.nome, personale.cognome, personale.indirizzo FROM personale; § SELECT nome, cognome, indirizzo FROM personale; Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 9 Esempio di query dim query query = "SELECT * FROM visualizzaProgetti" Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 5 10 Apertura della connessione § Sintassi: objConn.Open connString Dove objConn è l’oggetto restituito da CreateObject(“ADODB.connection”) connString contiene connessione Università della Tuscia - Facoltà di Scienze Politiche. la stringa di Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 11 Invio della query e ricezione della risposta § È necessario creare un oggetto di tipo recordSet (insieme di record) set objRecSet = server.CreateObject("ADODB.recordset") § L’insieme di record conterrà la risposta alla query objRecSet.Open query, objConn Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 6 12 Recuperare le informazioni di un recordset § Esempio: se nel Database Access c’è un campo “nome”, l’informazione corrispondente nel recordset si ottiene con la sintassi § objRecSet("nome") Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 13 Organizzazione della visualizzazione § È necessario fornire nella risposta da inviare al browser tutti i TAG HTML per l’impaginazione § Es. response.Write “<TABLE>" § Usando il metodo Write dell’oggetto Response Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 7 14 Enumerare i record di un recordSet § Metodo objRecSet.MoveNext § Permette di passare da un record al successivo § Se non ci sono più record successivi, la proprietà EOF (End Of File) dell’oggetto recordSet assume valore TRUE Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini 15 Istruzione di ciclo WHILE § DO WHILE NOT objRecSet.EOF § … comandi VBScript …. § LOOP § Il ciclo si interrompe condizione diventa falsa Università della Tuscia - Facoltà di Scienze Politiche. condizione quando la Informatica 2 - a.a. 2004-05 - Prof. Francesco Donini Pag. 8 16