Ajuda Pesquisa no Banco netbeans

8 respostas
W
Ola estou com uma duvida aqui sobre fazer uma pesquisa no banco quando eu aperto no botao pesquisa ja fiz para aparecer o que ja estao cadastrado mas agora quero fazer uma pesquisa especifica por exemplo digito R e quero que aparece todos com que comça com R o codigo que fiz foi esse mais cai direto no catch o codigo e esse, alguem poderia me dar uma ajuda.Obrigado para quem responder.
public void  pesquisa(){
        int num = 0;
        String result = null;
      try{
          String url = "jdbc:mysql://localhost/conta";
          String usuario = "";
          String senha = "";
          Class.forName("com.mysql.jdbc.Driver");
          Connection d;
          d = DriverManager.getConnection(url,usuario,senha);
          st = d.createStatement();
          ResultSet r = st.executeQuery("select *from where nome like ?");
          r.next();
          jCampoId.setText(r.getString("Id"));
          jCampoNome.setText(r.getString("Nome do Livro"));
          jCampoAutor.setText(r.getString("Autor"));

          if(num == 1){
              result = "Sim";
          }else if(num == 0){
              result = "Nao";
          }
          jPesquisa.setText(result);
          st.close();
          d.close();
      }catch(Exception event){
          JOptionPane.showMessageDialog(null, "Nao existe");
      }
    }

8 Respostas

B

Faltou o nome da tabela no select, não faltou?

W

Botei o nome da tabela mas cai direto no catch() nao sei por que isso

neno

Acho que esta faltando vc setar o paramentro de pesquisa nome, que você apelidou na query com o “?”…

B

Coloca aqui o stacktrace pra ver se ajuda a localizar o erro.

B

O neno tem razão.

makecio

como o neno ti disse, no select vc deve coloca a variavel que o usuario ira digitar no campo.

ou seja ficaria assim.

SELECT * FROM nome_da_tabela WHERE nome LIKE '"+"%"+nome+"+"'" // << onde nome sera a variavel

sinal de % no comeco para buscar a palavra no inicio da mesma
sinal de % no final para para buscar a palavra no fim da mesma
sinal de % no comeco e no final buscar a na palavra inteira

jLady

makecio, sua dica do like pode ajudar…

mas o que o neno (ops, corrigi aqui, tinha escrito o nome errado, sry) quis dizer é que ele esqueceu de colocar
o valor pro “?”

st.setString(1, aVariavelDele)
W

Ola pessoal eu denovo desculpa a ignorancia mais ainda ta do mesmo jeito eu coloquei o query esse jtextoPesquisa e o nome da variavel da jtextfield e aonde eu boto para pesquisar tenho que botar ai eh ?. Obrigado por respoderem

ResultSet r = stm.executeQuery("select * from livro where nome like '"+"%"+jTextoPesquisa);
Criado 9 de novembro de 2010
Ultima resposta 9 de nov. de 2010
Respostas 8
Participantes 5