Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
sqlParziale sqlParziale =<br />
=<br />
“select “select * *<br />
*<br />
from from ana anagrafe ana grafe<br />
where where età età >?; >?; //marker //marker 1<br />
1<br />
.and .and nome nome = = ? ? //marker //marker 2<br />
2<br />
Carnielli Efrem: Programmazione a componenti<br />
Applicazioni Client-Server e database<br />
Confezionando la richiesta <strong>in</strong> questo modo ottengo Sql d<strong>in</strong>amico che mi permette<br />
<strong>di</strong> sfruttare i PraperedStatement. Così se voglio eseguirlo 100 volte posso sfruttare<br />
il piano d’accesso che viene creato solo la prima volta e <strong>di</strong> cui poi mantengo traccia.<br />
Tale piano avrà due parametri, il primo ed il secondo marker PA(?,?) e una volta<br />
creato può essere utilizzato quante volte voglio con chiamate del tipo :<br />
PA(40,Giorgio) , PA(30,Luca) e così via.<br />
In Java ho PreparedStatement che mi permettono <strong>di</strong> scrivere str<strong>in</strong>ghe con i marker<br />
e poi <strong>in</strong>vocare il metodo execute().<br />
setInv(n,v)<br />
setInv(n,v) setInv(n,v) dove n è il numero dei marker e v il valore.<br />
6.5.1 Uso dei Prepared Statement<br />
Dopo aver <strong>in</strong>trodotto i Prepared Statement ed aver compreso la loro importanza<br />
cerchiamo <strong>di</strong> capire come devono essere utlizzati.<br />
Com<strong>in</strong>ciamo al solito con un esempio.<br />
Supponiamo <strong>di</strong> dover fare una ricerca e <strong>di</strong> avere un pag<strong>in</strong>a per l’immissione dei<br />
dati come <strong>in</strong> figura 6.4. I dati dal DB vengono filtrati per ottenere quelli che mi<br />
servono per la maschera.<br />
Nome*<br />
Cognome*<br />
Età<br />
Tel.<br />
Mat.<br />
Ricerca<br />
Trova<br />
FILTRO<br />
Figura 6.4. Pag<strong>in</strong>a <strong>di</strong> ricerca e filtro per la maschera.<br />
I dati accompagnati dall’asterisco sono obbligatori.<br />
141