15.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!