Filtro de pesquisa dinâmico utilizando PreparedStatement?

1 resposta
fsfnit

Fala ai pessoal, to com uma dúvida:

Tenho uma APP,e nela tenho uma funcionalidade de pesquisa com a seguinte particularidade:
É composta 3 JTextField´s e 1 jComboBox, onde se o user deixar todos os campos sem digitar nada, irá trazer tudo do BD(select * from table).
Caso ele digite algo em 1 ou mais campos, ai entra no Select. Tem como montar uma única query para desempenhar este papel ao invés de criar várias query´s uma para cada combinação de filtros ?

Obrigado desde já pela ajuda.

1 Resposta

P

Escreva a query utilizando um StringBuilder com if’s onde você precisar.

StringBuffer sql = new StringBuffer();
sql.append("SELECT * FROM TABELA T");

if(campoFiltro1 != null){
     sql.append("  WHERE T.COLUNA1 =  " + campoFiltro1.toString() );
}

if(campoFiltro2 != null){
     sql.append("  AND T.COLUNA2 =  " + campoFiltro2.toString() );
}
Criado 3 de abril de 2008
Ultima resposta 3 de abr. de 2008
Respostas 1
Participantes 2