View Full Version : [JSP+SQL]Ricerca a più campi
maurotj84
17-10-2010, 16:17
Ciao a tutti! volevo avere delucidazioni riguardo la possibilità di effettuare una ricerca a più parametri impostabili dall'utente. Prendiamo per esempio una JSP all'interno della quale l'utente possa decidere di effettuare una ricerca su 4 campi (es. 4 text box). Di questi 4 campi può anche non compilarli tutti. Quindi, nel caso in cui uno o più non vengano compilati, la ricerca deve essere effettuata basandosi su quelli compilati e per gli altri parametri considerare tutte le possibilità. Come è possibile costruire una query SQL?
Lo scambio di informazioni avviene tra JSP servlet DB.
Ciao, a prescindere dalla tecnologia che utilizzerai per realizzare la gui, il modo più semplice per costruire delle query "dinamiche" in base ai parametri passati in input (come le text box) è quello per concatenazione di stringhe.
Ti faccio un esempio banale, supponiamo che tu abbia una tabella Persona(ID,NAME,SURNAME,TELEPHONE).
La tua jsp contiene ad esempio 3 text box del tipo :
Nome : ________
Cognome: ______
Tel:______
Costruisci la tua query base che va sulla tabella interessata :
String queryBase = "select * from Persona where 1=1 and ";
Poi, in base ai campi compilati tu costruisci la query dinamicamente partendo da un query di base:
if(nome != null && !nome.equals("")) queryBase = queryBase + " name = "+nome;
... e così via con gli altri campi della tua maschera di ricerca.
In questa maniera alla query di base verranno aggangiate le ulteriori condizioni nel caso in cui i campi associati vengano compilati
Questo è il metodo più veloce, potresti raffinarlo mettendo un controllo per evitare la "sql injection" oppure renderlo un pò meno legato alla view..
maurotj84
22-10-2010, 17:31
grazie! ci proverò!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.