Dúvida com pesquisa no banco de dados

7 respostas
Donizeti

Galera to com um problema …eu preciso fazer uma pesquisa no meu banco de dados, no qual o usuário vai
digitar num textField o registro procurado …comecei a fazer assim o meu código ,claro,dentro de exceções…

String sqlSelect = "select * from cidades where cidade = '"+jText_pesquisa.getText()+"'";
    con_cidade.statement.executeQuery(sqlSelect);

a minha dúvida é como eu vo comparar o que o usuário digitou no textField existe no meu banco de dados…
não sei se fui bem claro…
quem puder me ajudar…

7 Respostas

belitos

crie uma variavel ResultSet

dai vc faz

if(variavelresultset.next())
ja existe no banco de dados
else
nao existe no banco de dados

espero que eu tenha ajudado :smiley:

Editado: Desculpa,tinha trocado a ordem no IF

doug

Olá

Esse script SQL, select já procura no banco de dados se existe aquela informação.
Por exemplo tenho um banco de dados, Tabela Usuário, usuario
IdUser Name Login Senha
1 Thiago thiago.filadelfo 12345
2 Cesar cogumeeelo 12345
3 José zeh.do.teste teste1

Agora faço um sql de seleção (select)
Se eu fizer assim:
1) select * from usuario, ele me trás todas as colunas e todos os registros do banco de dados.

2) select * from usuario where name like 'Thiago', agora ele vai me retornar somente a linha;
     1     Thiago        thiago.filadelfo        12345

 3) select * from usuario where name like 'Donizeti', ele não vai retornar nada.. vai vir tudo em branco.

Não sei se era isso mesmo que vc queria saber.

Se houver um registro, no resultSet é que existe algum dado que o usuário digito no banco de dados
agora se não retornar nada no resultSet… dai ele digitou uma coisa inválida ou ainda não cadastrada…

Espero ter ajudado
Qualquer coisa pode mandar e-mail, assim posso lhe ajudar melhor

Flws, boa sorte

wandersonxs

Geralmente quando se deseja que o usuário informe um valor existente na base, então populamos um combo e pedimos para ele selecionar uma das opções disponíveis, ao invés, dele digitar.

Abraços
Wanderson

Donizeti
agradeço a todos pela ajuda....thiago a minha dúvida mesmo é mais com o Java..... tentei alguma coisa assim......mais ele cai direto no catch.....
try{
    String sqlSelect = "select * from cidades where cidade = '"+jText_pesquisa.getText()+"'";
    con_cidade.statement.executeQuery(sqlSelect);
    //System.out.println(sqlSelect); 
    if (jText_pesquisa.equals(con_cidade.resultSet.next())){
       
        mostar_dados();

    }else
        System.out.println("Dado inexistente");
    
}catch(SQLException erro){

    JOptionPane.showMessageDialog(null,"registro não localizado" + erro);
}
método mostar_dados();
public void mostar_dados(){
        try {
                
                jText_cod.setText(con_cidade.resultSet.getString("id")); 
                jText_cid.setText(con_cidade.resultSet.getString("cidade"));
                jComb_est.setSelectedItem(con_cidade.resultSet.getString("estado"));
                jText_cep.setText(con_cidade.resultSet.getString("cep"));
             
            
              } catch (SQLException erro) {
                   if(navega==1)
                     JOptionPane.showMessageDialog(null,"Voce está no primeiro registro!");
                   else if(navega==2)
                     JOptionPane.showMessageDialog(null,"Voce está no ultimo registro!");
                  else
                     JOptionPane.showMessageDialog(null,"Não localizou dados"+erro);
                     navega=0;
        }
    }
doug

Olá
No seu código tem uma falhinha…

try{   
    String sqlSelect = "select * from cidades where cidade like '"+jText_pesquisa.getText()+"'";   
    con_cidade.statement.executeQuery(sqlSelect);   
    //System.out.println(sqlSelect);   
    if (con_cidade.resultSet.next()){   
         
        mostar_dados();   
  
    }else   
        System.out.println("Dado inexistente");   
       
}catch(SQLException erro){   
  
    JOptionPane.showMessageDialog(null,"registro não localizado" + erro);   
}

Acho que funciona… qualquer coisa
se der algum erro. poderia postar a exception
dai podemos fazer analise mais detalhada…

Flwss - Espero ter ajudado

Donizeti

ele gera essa exceção

After end of result set

doug

Tente fazer assim:
Criar uma variavel ResultSet, vai te ajudar bastante

ResultSet rs = con_cidade.statement.executeQuery();
            while (rs.next()){
               mostar_dados();
               // Exemplo de como pode ser dentro do mostra dados
              //rs.getString("id");
              //rs.getString("cidade");
            }
            con_cidade.statement.close();
            con_cidade.close();

Qualquer coisa agente estrutura melhor uma fábrica de conexão de banco de dados
e gera o Statement etc…

Blz… tenta primeiro isso, se der xabú dai vamos analisar melhor
ok…

Flwsss

Se ele estiver fazendo a conexao e o Statement certo… deve funcionar

Criado 4 de janeiro de 2009
Ultima resposta 4 de jan. de 2009
Respostas 7
Participantes 4