La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Operazione immissione persona Vogliamo implementare il seguente progetto: Immissione persona Anno N. Nome Cognome Errore:.... Controllo e Immissione Errore.

Presentazioni simili


Presentazione sul tema: "Operazione immissione persona Vogliamo implementare il seguente progetto: Immissione persona Anno N. Nome Cognome Errore:.... Controllo e Immissione Errore."— Transcript della presentazione:

1 Operazione immissione persona Vogliamo implementare il seguente progetto: Immissione persona Anno N. Nome Cognome Errore:.... Controllo e Immissione Errore Inserisci Persona Cerca Persona Inserisci Persona OK Successo:....

2 Progetto di dettaglio Immissione persona Anno N. Nome Cognome Errore:.... Controllo e Immissione Errore Inserisci Persona Cerca Persona Inserisci Persona OK Successo:.... immetti(IlNome, menu.html controllaDati(IlNome,...) warning(IlNome,...

3 Progetto di dettaglio Stato 0: menu iniziale Stato 1 –Operazione: immetti –Parametri: IlNome, IlCognome, LAnnoNascita Stato 2 –Operazione: controllaDati –Parametri: IlNome, IlCognome, LAnnoNascita Stato 3 –Operazione: warning –Parametri: Messaggio errore –Parametri di giro: IlNome, IlCognome, LAnnoNascita

4 Per implementare Il menu iniziale: posso implementarlo come un file statico sul mio spazio web, oppure usando loadpsp Gli altri quattro stati: procedure che ricevono parametri: Immissione persona: –Definisco lo schema –Definisco la schermata iniziale –Memorizzo la procedura di immissione –Memorizzo la procedura di verifica errori –Memorizzo la procedura di visualizzazione risultato

5 Definizione dello schema Creo una directory ~/ese1bdl Copio nella directory tutti i files che trovo in Risorse del Corso->Materiale per gli esercizi->ese1 ) ovvero in oppure in ~ghelli/bdl04/ese1 Mi connetto a oracle1 via SqlPlus Worksheet: –start – programs – oracle-orahome92 – application development – sqlplus worksheet –Specificare nome utente di Oracle e password per oracle1; –Service: oracle1

6 Definizione dello schema Da SqlPlus Worksheet compilare il file create.sql: –File – open e selezionare il file –Execute (icona con fulmine) drop table Persone ERROR at line 1: ORA-00942: table or view does not exist Table created. L’errore in questione è dovuto al fatto che alla prima esecuzione la tabella Persone non esiste

7 Verifica di funzionamento Caricare e compilare insert.sql e query.sql dalla directory ese1bdl Per effettuare modifiche lanciare wordpad o emacs, modificare i file e ricompilare

8 Creare il proprio spazio Web su (Linux) Creare una directory ~/public_html e settare i diritti: –mkdir ~/public_html –chmod 711 ~/public_html (Windows) potete usare PuTTY: Inserire olivia.cli.di.unipi.it nel campo HostName e selezionare SSH dal radiobutton Istruzioni più dettagliate per creare la propria home page si possono trovare a:

9 Creazione dello stato di immissione Creo una directory ~/public_html/ese1bdl Salvo il file menu.html nella directory Rendo menu.html visibile a tutti: –chmod 755 ~/public_html/ese1bdl/menu.html Esploro la pagina creata: –http://www.cli.di.unipi.it/~MioAccountUnix/ese1bdl/menu.html

10 La form in menu.html (1/2) Accedere al file menu.html con wordpad Il tag: MioAccountOracle.p_ese1.immetti è il nome della procedura attivata (schema.modulo.procedura); modificate MioAccountOracle! Un tag: specifica che alla procedura verrà passato un parametro “Cognome” inizializzato a null

11 La form in menu.html (2/2) Un tag: specifica che alla procedura verrà passato un parametro “Cognome” inizializzato con il valore immesso nel tag Sostituire tutti gli XXuser con MioAccountOracle

12 Creazione della procedura di controllo dati ed immissione La procedura è nel file ese1.sql Aprire il file con wordpad Sostituire tutti i XXuser con MioAccountOracle Compilare la procedura Provare a modificare e ricompilare la procedura

13 La form Genera una form con un bottone OK Quando si schiaccia OK, spedisce: –HTTP://XXX?IlNome=Giorgio Genera una form con un bottone OK ed uno NO Quando si schiaccia NO, spedisce: –HTTP:XXX?IlNome=Giorgio&BUT=NO

14 La procedura immetti Il codice: – htp.htmlOpen; – htp.headOpen; – htp.title('Immissione dati persona'); – htp.headClose Produce: – – Immissione dati persona – Documentazione: –Home page del corso

15 formText La procedura: –htp.formOpen(‘http://xxx',‘GET'): Produce: – La procedura: –htp.formText('IlNome','15','15','Luigi'): Produce: – La procedura: –htp.formClose, htp.formSubmit(cname,cvalue) …

16 SQLPLUS: messaggi di errore Non confondere gli errori nel package (interfaccia) con quelli nel package body Comandi utili: –mostra errori: show err : mostra gli errori del body show err package p_pippo –(dove pippo non è il nome del file ma del package): mostra gli errori nel package –pausa ogni pagina: set pagesize 25 set pause on –lista le righe : l

17 Testare le procedure Scrivete la url: 1 =val 1 &..&par n =val n Errori più comuni: –il nome della procedura o quello dei parametri sono stati descritti male (oveflows integer datatype) –c'è qualche parametro in più o in meno –tipi sbagliati dei parametri (numeric or value error)

18 Esercizio Aumentare la dimensione del campo per immettere l’anno Trasformate il menù iniziale in una pagina.psp Aggiungere una procedura per visualizzare tutte le persone e collegatela al bottone opportuno Modificare tale procedura in modo che riceva un cognome come parametro e visualizzi tutte le persone con quel cognome


Scaricare ppt "Operazione immissione persona Vogliamo implementare il seguente progetto: Immissione persona Anno N. Nome Cognome Errore:.... Controllo e Immissione Errore."

Presentazioni simili


Annunci Google