Ajuda Com Sql [RESOLVIDO]

6 respostas
braian.adans

Pessoal é o seguinte…
Estou fazendo uma aplicação na qual preciso pesquisar o nome do aluno.
Porém se o usuário não digitar exatamente como ele está no banco de dados a pesquisa não funciona

segue o código:

public ArrayList<Aluno> Pesquisa_Aluno(String Nome) throws SQLException, ClassNotFoundException {     
    Connection con = ConnectionFactory.getConnectionMySql();    
    String vSQL = "select * from aluno where nome=?";     
    PreparedStatement com = (PreparedStatement) con.prepareStatement(vSQL);     
    com.setString(1, Nome);    
        
    ResultSet rs = com.executeQuery();     
    Aluno f = null;  
    ArrayList<Aluno> alu=new ArrayList<Aluno>();
    
  
    while(rs.next()) {  
        f = new Aluno();  
          
        f.setCpf(rs.getString("cpf"));  
        f.setNome(rs.getString("nome"));  
         
        alu.add(f);
    }  
    return alu;  
}

gostaria de implementar uma pesquisa na qual… se eu digitar qualquer coisa parecida com o que está ali funciona… e que também não diferencie letras maiúsculas de minúsculas.

6 Respostas

Roger75

Faça um uppercase nas duas strings a serem comparadas e use um LIKE na sua query.

braian.adans

Conseguir fazer isso aqui…
String vSQL = “SELECT * FROM aluno WHERE nome=UCASE(?)”;

agora só ficou o segundo problema…
se tenho no banco de dados o seguinte nome
Ex:
Braian Adans de Aguiar

e eu pesquisar apenas “braian” ele não retorna nada…

como resolvo isso?

Obrigado pela ajuda…

Bruno_Cunha

Use um LIKE para usar wildcards na sua pesquisa.

SELECT * FROM aluno WHERE nome LIKE '%braian%'

http://www.w3schools.com/sql/sql_like.asp

Espero ter ajudado.

braian.adans

Bruno Cunha:
Use um LIKE para usar wildcards na sua pesquisa.

SELECT * FROM aluno WHERE nome LIKE '%braian%'

http://www.w3schools.com/sql/sql_like.asp

Espero ter ajudado.

Ficaria assim??
String vSQL = "SELECT * FROM aluno WHERE nome LIKE ‘%?%’ ";

Não funcionou…

vlw

Bruno_Cunha

Tenta assim:

String vSQL = "select * from aluno where nome like CONCAT('%', ? , '%')";
braian.adans

Bruno Cunha:
Tenta assim:

String vSQL = "select * from aluno where nome like CONCAT('%', ? , '%')";

ouw… Vlw mesmo cara…
Brigadão…

Criado 21 de fevereiro de 2012
Ultima resposta 21 de fev. de 2012
Respostas 6
Participantes 3