Query Select Like

Boas pessoal,

quero elaborar uma query qu eme selecione todos os clientes que o nome começe que uma letras que eu escrever numa jTextField que eu tenho na minha JFrame, por exemplo se eu ano escrever nada na JtextField, quando eu pressinao o botao ele nao me tras nada , se eu digitar “luis” e pressionar o botao ele me tras todos os clientes com o primeiro nome luis.

Algume me pode ajudar com isso ?

So preciso saber como construir a query, aonde o valor de LIKE é apanhado num campo de Texto

Obrigado

Luis, vc deve criar uma query mais ou menos assim:

String query = "select nome, endereco  from clientes where nome = '%?'"; //vc pode opcionalmente colocar '%?%' dai ele procura nao soh no inicio 

PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, txtNome.getText()); //pegando o valor do seu jTextField

ResultSet rsSzc = ps.executeQuery();

Se não respondi bem sua duvida posta ai! Flw…

Caio, fiz um teste com esta sintaxe em JSP e não funcionou, o Java não entende o ‘%?%’ como sendo um parametro, a solução foi essa:

String query = "select nome, endereco from clientes where nome = ? ";

PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, “%”+txtNome.getText()+"%"); //pegando o valor do seu jTextField

ResultSet rsSzc = ps.executeQuery();

Espero ter ajudado, abraços.

Wesley Milan
Analista Java - IMTI/PMCG/MS

Claro meu amigo…

ResultSet rsSzc = ps.executeQuery(SQL);

tem que informar a String SQL como parametro

Flow :smiley:

a sua query

String query = "select * from clientes where nome like '?" PreparedStatement ps = con.prepareStatement(query); ps.setString(1, txtNome.getText() + " %"); ResultSet rsSzc = ps.executeQuery();

String query = “select * from clientes where nome like '?”
atrenção para a aspas simples

ps.setString(1, txtNome.getText() + “%’”);
repare que depois do % (porcento) tem um aspas simples que faz parte da instrução sql

retornará todos os registros que o campo nome começe com o valor do txtNome