ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

Documenti analoghi
LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

ASP e Database. A cura di Michele Cavalieri

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

SQL: le funzioni di aggregazione

STRUTTURA BASE DELLA PAGINA HTML

Connesione ad un Database Access con PHP. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Select From Where...

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

LE MASCHERE. Maschera standard. Maschera semplice. Questa maschera però non consente di nascondere alcuni campi e visualizza i record uno ad uno.

QL (Query Language) Alice Pavarani

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select

Sistemi di Elaborazione delle Informazioni

Manuale SQL. Manuale SQL - 1 -

Tema Esame Informatica Mercurio Gestione della palestra

Appunti su SQL. Query Language. Comando Select

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Tipi di sottoquery SQL

Lezioni di Laboratorio sui Data Base

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Pagine Asp. Pagine Asp

Informatica (Sistemi di elaborazione delle informazioni)

SQL - Structured Query Language

CORSO ACCESS 2000 PARTE VI

ESERCITAZIONI ACCESS

Menù principale di Calc

La connessione ai database MySQL tramite script PHP versione 5.5

MODULO 2. Query normali e parametriche Query di:

Structured Query Language

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST

Filtri. Microsoft Access. Filtri. Filtri

Progettazione di Sistemi Informatici

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

<Nome Tabella>.<attributo>

Corso di Access. Prerequisiti. Modulo L2A (Access) 2.5 Sottomaschere e Report avanzati

Corso di Access Modulo L2 A (Access) I tipi di query

Queries su più tabelle

Tabelle. Verdi A. Bianchi B. Rossi C. 12/02 Trasferta a Milano. Corso in sede. Riunione Ispettori a Milano Riunione in sede.

Associazione semplice

FOGLIO DI CALCOLO. Funzionalità -- > Effettuare calcoli ripetitivi in automatico e visualizzare i risultati in forma grafica

Caratteristiche dei linguaggi per Database

SOLUZIONE SECONDA PROVA ESAME DI STATO TRAMONTANA

Basi di Dati: Corso di laboratorio

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Basi di Dati: Corso di laboratorio

Interazione con DBMS remoto. DBMS MS SQL Server: web-hosting Somee

PHP i5 #3. By SIRI. : accesso adl DB2 IBMi

ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio

PRODOTTO CARTESIANO Caso Generale

Corso sul PACCHETTO OFFICE. Modulo Access

3.6.1 Inserimento. Si apre la finestra di dialogo Inserisci Tabella:

Corso di LibreOffice

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE

Access 2007 Colonna di ricerca

DOCUMENTO DI INTEGRAZIONE CON GAMMA EVOLUTION INSTALLAZIONE DEL PLUGIN IN TUSTENA CRM

Programmazione Web D B M G. Il linguaggio HTML

ArcGIS - ArcView strumenti di analisi

Creare una tabella di pivot

SISTEMI OPERATIVI, RETI, INTERNET

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Basi di Dati: Corso di laboratorio

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Corso basi di dati ASP e i database

Creare maschere personalizzate con controlli e macro

IL LINGUAGGIO SQL LE BASI

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Microsoft Front Page 2000

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

Modulo 4 Esercitazione Nr 2 Office 2007

Metodi per la Gestione dei Dati (lezioni di laboratorio)

2.4. Creare ed operare con le query

Query in Access. Criteri, Valori Univoci, Operatori e Colonna Calcolata. Query (Interrogazione)

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

1.1 Lavorare con il foglio elettronico. Appena aperto LibreOffice, si può scegliere da qui Foglio elettronico

MySQL. Esercizio 1. Soluzione

INSERIRE I DATI NEL DATABASE

FOGLIO ELETTRONICO. Microsoft Office EXCEL. LibreOffice CALC CALC. E' un software che assegna come estensione ai propri file (foglio elettronico).ods.

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

A.A. 2018/2019. Funzioni di Aggregazione e Raggruppamenti in SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Le query di comando e di servizio in Access

ASP Corso introduttivo

D B M G 2. Linguaggio SQL: costrutti avanzati. SQL per le applicazioni

Foglio elettronico Microsoft Office Excel 2003

Capitolo 5. Soluzione: Soluzione in C:

Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754:

D B M G Il linguaggio HTML

CdS Scienze e tecnologie della comunicazione Fondamenti di Informatica. Dott. Riccardo ZESE

THECLA INFORMATICA s.r.l. Corso Avanzato Microsoft Access XP

Transcript:

Page 1 of 5 ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB Come nella lezione precedente, dovendo visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset. Se però questi dati dovranno essere manipolati prima di essere visualizzati, si dovrà arricchire il codice sql di funzioni di aggregazione e campi calcolati. AREA PROGETTO "Agenzia Turistica" Proseguiamo realizzando la pagina Prenotazioni.asp (pagina del lato gestore) che prevede dapprima la realizzione dell'interfaccia grafica come nell'immagine seguente: restituendo così sempre una situazione aggiornata. Per realizzarla useremo Frontpage. Dovremo dunque realizzare una tabella per ciascun Agriturismo, che riporti per ciascuna data disponibile e per ciascun pacchetto, 2 colonne che lasceremo vuote in questa fase, che dovranno contenere, l'una il numero delle camere prenotate e l'altra il numero delle camere ancora disponibli. Queste due ultime informazioni derivano da calcoli che verranno elaborati dalla pagina asp in tempo reale, Per effettuare questi calcoli, utilizzeremo oltre che il semplice codice sql, una funzione di aggregazione che effettuerà la somma,sum(), delle prenotazioni per ciascuna tipologia di pacchetto-struttura-data, che poi sottratte dal valore costante delle camere disponibili per ciascuna struttura (che abbiamo supposto pari a 10), ci restituiscono le disponibilità per ogni combinazione aggiornata in tempo reale. Cominciamo allora con la creazione della struttura grafica con Frontpage: Inserire una Tabella con 9 righe 2 colonne specificando la larghezza in percentuale 80 - spaziatura interna celle 1- spaziatura tra celle 2- dimensione bordi 1. Posizionarsi nella prima riga ed unire le celle, impostare il colore di fondo (verde) e scrivere PRENOTAZIONI E DISPONIBILITA' (century gotic 4 - bianco) Nella 2 riga inserire l'immagine del primo agritur ismo e procedere allo stesso modo per tutti gli agriturismi. Proseguire con l'inserimento nella seconda cella della seconda riga, di una tabella ii 6 righe e 9 colonne, con allineamento a sinistra, larghezza percentuale 100, spaziatura interna celle 1, spaziatura tra celle 2, dimensioni bordi 1. unire di tre celle in tre celle e riempire con PACCHETTO SMALL, PACCHETTO PLUS e PACCHETTO FULL. Per ciascun pacchetto inserire nella prima colonna le date fisse dei pacchetti offerti dall'agenzia. Dopo aver realizzato la medesima tabella per tutte le strutture, saremo pronti per la parte più importante di questo progetto, cioè collegare dinamicamente il sito al database, procedendo alla realizzazione dello script asp che conterrà la funzione SUM e un campo calcolato. Per cominciare a scrivere il codice asp, dobbiamo posizionarci sulla prima casella bianca, (quella che si riferisce al calcolo delle camere prenotate presso la struttura L'Ovile, per il 06/08/2011

Pacchetto Small. Passare dalla modalità normale di frontpage alla modalità codice e li inserire dove si sarà posizionato il cursore, il seguente codice. Come per l'esempio della lezione precedente, prima cosa da fare, sarà definire l'oggetto connessione, definire il connectionstring per definire il tipo di db, e aprire la connessione. Page 2 of 5 1 - CONNESSIONE DATABASE e DICHIARAZIONE DELLE VARIABILI <% LANGUAGE = VBSCRIPTS DIM objcon, Prenotate1 Set objcon = Server.CreateObject( "ADODB.Connection" ) objcon.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("AgenziaAgriturismo.mdb") objcon.open 2- STRINGA SQL PER SELEZIONARE E AGGREGARE I CAMPI DELLA TABELLA E PRODURRE I CAMPI CALCOLATI Prenotate1= SELECT Pacchetti.codPacchetto, Destinazioni.codAgriturismo, Sum (Prenotazioni.NumeroCamere) AS Prenotate, Prenotazioni.Data FROM Pacchetti INNER JOIN (Destinazioni INNER JOIN Prenotazioni ON Destinazioni.codAgriturismo = Prenotazioni.codDestinazione) ON Pacchetti.codPacchetto = Prenotazioni.codPacchetto GROUP BY Pacchetti.codPacchetto, Destinazioni.codAgriturismo, Prenotazioni.Data HAVING (((Pacchetti.codPacchetto)=1) AND ((Destinazioni.codAgriturismo)=1) AND ((Prenotazioni.Data)='06/08/2011')) ***scrivete questo testo tutto sulla stessa riga per non commettere errori*** OPPURE CREATE LA QUERY IN ACCESS E RIPORTATE QUI LA TRADUZIONE SQL. Con questa istruzione, assegno alla variabile strsql, il risultato del codice Sql risultato della query che calcola la somma delle camere prenotate nelle righe dove il codice

Page 3 of 5 pacchetto è uguale a 1 il codice agriturismo è uguale ad 1 e la data è pari a 06/08/2011. Select SUM(attributo1) as nome_campo_calcolato, FROM nome_tabella where attributo='xxxxxx' and,,, 3 -DEFINIZIONE DI UN RECORD SET rs.open Prenotate1,objcon Come nell'esempio della lezione precedente, si definisce l'oggetto recordset con sintassi; Set nome_recordset = Server.CreateObject("ADODB.recordset") questo permetterà di aprire la tabella in base alla domanda(query) che abbiamo fatto nell'istruzione sql assegnata alla variabile Prenotate1.Nella seconda riga, apriamo il recordset attraverso il metodo open passando le variabili Prenotate1 (stringa codice Sql) e ObjCon (variabile connessione) come parametri. Il risultato sarà quello di raccogliere nell'oggetto recordset, le righe della nostra tabella secondo la selezione effettuata con la query sql. response.write rs("prenotate") 4 - Emissione dell'output utilizziamo response.write per mandare a video la variabili calcolata Prenotate 5 - Emissione dell'output Ci posizioniamo nella cella affianco, quella delle disponibilità ed effettuiamo il calcolo delle disponibilità aggiornate, sottraendo la somma delle prenotazioni dal numero delle disponibilità che noi abbiamo supposto pari a 10camere per ciascuna struttura.: <%response.write 10 - rs("prenotate") 6 -CHIUSURA E AZZERAMENTO DELLE VARIABILI DI CONNESSIONE objcon.close Set objcon = Nothing Come già detto procediamo alla chiusura degli oggetti creati e al loro azzeramento liberando così la memoria del server.

Page 4 of 5 Codice Asp Prenotazioni.asp per il pacchetto Small (1) della STruttura L'Ovile(1) per la data 06/08/2011 <% DIM objcon, Prenotate1 Set objcon = Server.CreateObject( "ADODB.Connection" ) objcon.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("AgenziaAgriturismo.mdb") objcon.open Prenotate1 = "SELECT Pacchetti.codPacchetto, Destinazioni.codAgriturismo, Sum (Prenotazioni.NumeroCamere) AS Prenotate,Prenotazioni.Data FROM Pacchetti INNER JOIN (Destinazioni INNER JOIN Prenotazioni ON Destinazioni.codAgriturismo = Prenotazioni.codDestinazione) ON Pacchetti.codPacchetto = Prenotazioni.codPacchetto GROUP BY Pacchetti.codPacchetto, Destinazioni.codAgriturismo, Prenotazioni.Data HAVING (((Pacchetti.codPacchetto)=1) AND ((Destinazioni.codAgriturismo)=1) AND ((Prenotazioni.Data) ='06/08/2011'))" rs.open Prenotate1,objcon response.write rs("prenotate") Ci posizioniamo nella cella affianco, quella delle disponibilità: <%response.write 10 - rs("prenotate") objcon.close Set objcon = Nothing Lo stesso codice verrà modificato nei criteri, codpacchetto, codagriturismo, e data, e copiato in ogni casella. Ora per terminare sarà necessario procedere con la pagina ListinoStrutture.asp, che prevede l'utilizzo di tre query, una per ciascun tipo di pacchetto, che mostrano rispettivamente il costo del pacchetto per persona, che si intende unico per tutte le date e strutture. Come per la pagina delle prenotazioni, procediamo con la realizzazione della parte grafica con l'utilizzo di frontpage. Nelle caselle lasciate libere per inserire il prezzo, ci posizioniamo e inseriamo il codice asp seguente. Come al solito dovremo aprire una connessione ed un recordset, e predisporre il codice Sql che vi ho evidenziato. Lo stesso stralcio di codice dovrà essere copiato nelle altre due caselle lasciate libere provvedendo ovviamente alla modifica del criterio nella query che diventerà 2 e poi 3, a seconda del pacchetto. ListinoStrutture.asp <% DIM objconlistino, listino Set objconlistino = Server.CreateObject( "ADODB.Connection" ) objconlistino.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("AgenziaAgriturismo.mdb") objconlistino.open listino= "select CostoIndividuale as Prezzo From PAcchetti where codpacchetto=1" rs.open listino,objconlistino response.write rs("prezzo") objconlistino.close Set objconlistino = Nothing

corso Asp Page 5 of 5 IN SINTESI... Select attributo1,attributo2,...attributon from nome_tabella where attributox ='xxxxx' Codice della query sql per selezionare le colonne della tabella che assolvono alla condizione espressa dopo il where. Set nome_recordset = Server.CreateObject ("ADODB.recordset") : creazione dell'oggetto recordset che permette di conservare tutti i dati della tabella selezionati con la query. Select SUM(attributo1) as nome_campo_calcolato, FROM nome_tabella where attributo='xxxxxx' and,,,: Codice SQL da assegnare ad una variabile nel codice asp, per produrre un campo calcolato con l'utilizzo delle funzioni di aggregazione di Access (sql).