lezione jsp su come gestire una tabella relazionale con chiave esterna

Post on 13-Jun-2015

1.482 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

come gestire una tabella relazionale con chiave esterna

TRANSCRIPT

Apr 13, 2023

Tutorial JSP database-sesta parte

Silvano Natalizi

Obiettivo della lezione

L’obiettivo di questa lezione è quello di modificare l’interfaccia grafica dell’applicativo CRUD.

In modo da gestire una chiave esterna Aggiungiamo a titolo la chiave esterna di materia

Il comando alter table

alter table titolo add materia_id int ;

Il valore della colonna materia_id è null

Per azzerare il valore della colonna materia_id :

update titolo set materia_id=0;

Naturalmente occorre successivamente aggiornare ogni riga del campo materia_id con il codice effettivo della materia nella quale si classifica il titolo

Effetto dell’operazione update

Creiamo la tabella materia

Create table materia(id int not null, nome varchar(50), primary key(id));

Popoliamo la tabella materia

Insert into materia values(1,”Poesia”);

Ora aggiorniamo a mano i titoli

Facciamo la join

Select titolo,prezzo,materia from titolo,materia

where titolo.materia_id=materia.id

Gestiamo la tabella materia da programma

Anzitutto dobbiamo gestire la tabella materia. Questa è identica alla tabella autore. Di conseguenza è sufficiente duplicare cambiando i

nomi tutti i programmi fatti per autore, e modificare soltanto il nome della tabella da autore a materia.

Inoltre bisogna stare attenti a sostituire tutta la catena dei nuovi nomi nel valore dell’attributo action in tutte le form ed in tutti i link

Gestiamo la tabella titolo con la chiave esterna materia_id

Non possiamo certo far digitare all’utente, al navigatore un codice !

La soluzione migliore è quella di presentare tutti i nomi delle materie in un menù srotolabile.

Questo menù srotolabile corrisponde ad un controllo di tipo select con tante option quante sono le materie

Naturalmente i nomi delle materia vanno letti dalla tabella materia.

Cosa deve fare il programma InserisciTitolo.jsp

Questo programma deve anzitutto leggere la tabella materia e creare con i risultati della lettura il controllo menù srotolabile.

Come possiamo procedere ?

Una possibile soluzione

Duplichiamo la pagina web inseriscititolo.html nella java server page InserisciTitoloMateria.jsp

Aggiungiamo prima della form la lettura della tabella materia

Dentro la form mettiamo il controllo <select> con le opportune <option> i cui valori sono assegnati con le istruzioni java.

Interfaccia grafica

Programma risolutivo

The End

top related