Fórum Select like %nome% (Mysql/Java) #564300
19/10/2016
0
no Mysql, quando quero dar um select em um ou vários usuários utilizando termos parciais, usamos o seguinte comando:
até aqui tudo certo, agora no java eu tenho uma função que conecta ao banco e faz o select
onde a ? equivale a String nome, aqui também esta tudo certo, entretanto eu preciso digitar o nome completo para dar certo.
agora como eu faria se quisesse misturar os 2 conceitos, fazendo com que o java também utiliza-se termos parciais, tentei a seguinte forma e NÃO deu certo
acredito que o erro ocorra por que a ? não é mais reconhecida como a string nome, alguem sabe me dizer a maneira correta de fazer isso?
select * from usuario where nome like '%Souza%';
até aqui tudo certo, agora no java eu tenho uma função que conecta ao banco e faz o select
try {
String sql = "SELECT * FROM usuario where nome like ?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, nome);
onde a ? equivale a String nome, aqui também esta tudo certo, entretanto eu preciso digitar o nome completo para dar certo.
agora como eu faria se quisesse misturar os 2 conceitos, fazendo com que o java também utiliza-se termos parciais, tentei a seguinte forma e NÃO deu certo
try {
String sql = "SELECT * FROM usuario where nome like %?%";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, nome);
acredito que o erro ocorra por que a ? não é mais reconhecida como a string nome, alguem sabe me dizer a maneira correta de fazer isso?
Michael Batista
Curtir tópico
+ 0
Responder
Post mais votado
19/10/2016
Olá, você tentou fazer da seguinte forma?
ps.setString(1, "%" + nome + "%");
ps.setString(1, "%" + nome + "%");
Jones Granatyr
Responder
Gostei + 3
Mais Posts
20/10/2016
Michael Batista
um ótima ideia, não tinha pensado nisso. vlw mesmo cara, deu certo
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)