Originariamente inviato da giaomnitel1
E' possibile in qualche modo fare in modo di fare la composizione della query e la setString insieme nello stesso IF (per evitare di ripetere tutte le condizioni e avere problemi delle posizioni)?
Puoi fare una cosa del genere:
codice:
StringBuffer sb = new StringBuffer ("Select * from ......");
if (nome!=null && cognome!=null)
sb.append (" and nome=? and cognome=?");
if (eta!=null)
sb.append (" and eta=?");
// ... crea il PreparedStatement ...
int indice = 1;
if (nome!=null && cognome!=null)
{
prepStat.setString (indice++, nome);
prepStat.setString (indice++, cognome);
}
if (eta!=null)
prepStat.setString (indice++, eta);
Non ti elimina il problema dei doppi test ma almeno non hai problemi per gli indici (fintanto che fai gli stessi test nella stessa sequenza).