Olá, tenho uma tela com um campo de busca, quero fazer o seguinte
ex: no meu banco tenho um cara chamado “coletor” quando digito coletor trago todos os caras que tem coletor no meu banco, até ai tudo ok, e se digitar “seringa” traz todos os caras também, ok, mas se digitar no campo de busca “coletor seringa” ele não traz nenhum nem outro.
antes funcionava assim
if(pItemDeParaVO.getCodFiltroReferenciado() != null && pItemDeParaVO.getCodFiltroReferenciado().trim().length() > 0 ){
sQuery.append(" AND ((upper(item_de_para.cod_item_prestadora) like upper(ltrim(’%"+pItemDeParaVO.getCodFiltroReferenciado().toUpperCase()+"%’)) OR “);
sQuery.append(” upper(item_de_para.des_item_prestadora) like upper(’%"+pItemDeParaVO.getCodFiltroReferenciado().toUpperCase()+"%’))) ");
}
e fiz essa modificação
[b]
if(pItemDeParaVO.getCodFiltroReferenciado() != null && !"".equals(pItemDeParaVO.getCodFiltroReferenciado().trim())){
StringTokenizer tokenizer = new StringTokenizer(pItemDeParaVO.getCodFiltroReferenciado(), " ");
String filtroNom = “”;
String filtroCod = “”;
while(tokenizer.hasMoreTokens()) {
String palavra = tokenizer.nextToken();
if(!"".equals(filtroNom)) {
filtroNom += "\n AND ";
}
filtroNom += "\n (upper(item_de_para.cod_item_prestadora) like upper(ltrim('%"+palavra+"%'))";
if(!"".equals(filtroCod)) {
filtroCod += "\n OR ";
}
filtroCod += "\n upper(item_de_para.des_item_prestadora) like upper('%"+palavra+"%')) ";
}
sQuery.append("\n AND ( " + filtroNom + " OR " + filtroCod + " ) " + "\n");
}
[/b]
e ainda não estou conseguindo o resultado esperado, alguém pode ajudar ?
desde já obrigado