13-ASP e database - Università degli Studi della Tuscia

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