Javafree
Página Inicial do Fórum > Banco de Dados - JDBC / SQL

[RESOLVIDO] Bt Pesquisar e mostrar o resultado no JTextField



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 25/06/2013 14:50:31

    Pessoal,estou com um problema que pode dar continuidade no meu trabalho na empresa ou não!
    rsrsrs!!

    Estou com um programa para o RH que o candidato cadastra seus dados do Curriculum em um site, do site vai para um banco Mysql...
    A gestora de RH pode fazer fazer consultas, cadastrar mais dados do candidato, etc...

    Mas estou com problemas nesse botao pesquisar...

    Já pesquisei em varios topicos mas não consegui resultado nenhum do modo que eu queria...

    Existe um Jtexfield em que ela vai digitar o nome, e aperta no botao pesquisar, depois de efetuar uma busca no banco e se achar algum dado ele traz os dados para varios Jtextfield como nome, endereço,telefone, todos de acordo com o banco...

    Deu para entender?

    Segue o codigo abaixo, estou fazendo pela paleta do NetBeans:



    Agradeço desde já!!!



  1. fabioandrade
    Posts:723


    Comment Arrow

    Publicado em: 25/06/2013 14:56:06

    o codigo do botão pesquisar está aew, não sei se foi falta de atenção minha, mas não achei....
    aparce alguma mensagem de erro?

  1. Comment Arrow

    Publicado em: 25/06/2013 15:44:40

    [quote="fabioandrade"]o codigo do botão pesquisar está aew, não sei se foi falta de atenção minha, mas não achei....
    aparce alguma mensagem de erro?



    No botão Pesquisar só está a conexao com o banco, ainda não achei nenhum metodo para dar continuidade, gostaria de uma ideia ou exemplo para implementar.



  1. Yelden
    Posts:200


    Comment Arrow

    Publicado em: 25/06/2013 16:22:27

    Quando você clicar no botão pesquisar, você vai enviar a query para o banco (SELECT FROM etc etc ), e então vai receber as row's que você quer, certo?

    Você pode guardar essas row's em um array de string, e depois exibi-los nos seus text-field. (nessas horas um associative array faz falta na linguagem :/ )

    exemplo:

    //Isso vem do Banco
    saida[1]="nome"
    saida[2]="telefone"
    saida[3]="endereço"

    TextFieldNome.setText(saida[1]);
    TextFieldTel.setText(saida[2]);
    TextFieldEnd.setText(saida[3]);


    Se você encontrar dificuldade em fazer isso, tenta dar uma pesquisada em CRUD, pois é uma operação padrão de banco de dados



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 25/06/2013 17:26:57

    Eu por exemplo uso List<E>

    Exemplo:
    Tenho uma classe Funcionario
    que possui um nome, código, entre outros

    Digo que está lista é do tipo Funcionário


  1. Comment Arrow

    Publicado em: 25/06/2013 17:45:39

    [quote="Yelden"]Quando você clicar no botão pesquisar, você vai enviar a query para o banco (SELECT FROM etc etc ), e então vai receber as row's que você quer, certo?

    Você pode guardar essas row's em um array de string, e depois exibi-los nos seus text-field. (nessas horas um associative array faz falta na linguagem :/ )

    exemplo:

    //Isso vem do Banco
    saida[1]="nome"
    saida[2]="telefone"
    saida[3]="endereço"

    TextFieldNome.setText(saida[1]);
    TextFieldTel.setText(saida[2]);
    TextFieldEnd.setText(saida[3]);


    Se você encontrar dificuldade em fazer isso, tenta dar uma pesquisada em CRUD, pois é uma operação padrão de banco de dados



    Yelden, fica dessa forma:

  1. Comment Arrow

    Publicado em: 25/06/2013 17:46:19

  1. Comment Arrow

    Publicado em: 25/06/2013 17:48:35

    Pessoal, e para pegar o valor do JtextfieldBusca e fazer uma busca no banco?



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 25/06/2013 17:51:11

    Manda o parametro para o método,
    e depois implemente ele no SQL

    Exemplo:



  1. fabioandrade
    Posts:723


    Comment Arrow

    Publicado em: 25/06/2013 18:07:16

    [quote="AndreBBezerra"][quote="fabioandrade"]o codigo do botão pesquisar está aew, não sei se foi falta de atenção minha, mas não achei....
    aparce alguma mensagem de erro?



    No botão Pesquisar só está a conexao com o banco, ainda não achei nenhum metodo para dar continuidade, gostaria de uma ideia ou exemplo para implementar.



    ah blz...os codigos aew estão te ajudando?



  1. Yelden
    Posts:200


    Comment Arrow

    Publicado em: 25/06/2013 19:21:44

    [quote="AndreBBezerra"]



    AndreBBezerra,

    Primeiro, da uma lida nas query de sql, você está misturando Inserir dados com Recuperar dados,
    INSERT INTO table VALUES é para inserer dados na tabela, para ler usa-se SELECT coluna FROM tabela WHERE condição.

    Você vai usar o Statement e criar um objeto para criar essa query. (através do executeQuery).
    Depois da query ser executada no banco, você vai usar a classe ResultSetMetaData e criar um objeto para recuperar o resultados (que serão as linhas que o banco retornou). Tem um método chamado getColumnName e getObject() que faz isso.

    Depois que o resultado estiver dentro do seu objeto ResultSetMetaData, você pode usar o método getObject() para exibir esses resultados (no caso de várias colunas, você precisará de um loop for ou while)

    Por exemplo:
    supondo que seu objeto ResultSetMetaData (vou chamar de ob) já esteja com o resultado da consulta ao banco, você pode imprimi-lo no text field (ou guardar em um array, ou list, para imprimi-lo)

    //Se houver + de uma coluna
    for (int i=0; i<numberOfColumns; i++){
    saida = ob.getObject(i);

    }


    TextFieldNome.setText(saida[0] )
    TextFieldTel.setText(saida[1])
    TextFieldEnd.setText (saida[2])

    É semelhante como ler algo em um arquivo txt.


    Da uma lida na classe Statement e ResultSet. e da uma lida em querys CRUD de sql, não te passo nenhum link pois lembro de ter usado um livro para aprender isso.

    qualquer duvida posta ae, boa sorte

  1. Comment Arrow

    Publicado em: 26/06/2013 08:24:45

    [quote="fabioandrade"][quote="AndreBBezerra"][quote="fabioandrade"]o codigo do botão pesquisar está aew, não sei se foi falta de atenção minha, mas não achei....
    aparce alguma mensagem de erro?



    No botão Pesquisar só está a conexao com o banco, ainda não achei nenhum metodo para dar continuidade, gostaria de uma ideia ou exemplo para implementar.



    ah blz...os codigos aew estão te ajudando?



    Estao sim...

    Muuuuuuitoooooooooo!!

    Agradeço demais!

  1. Comment Arrow

    Publicado em: 26/06/2013 11:27:08

    [quote="Yelden"][quote="AndreBBezerra"]



    AndreBBezerra,

    Primeiro, da uma lida nas query de sql, você está misturando Inserir dados com Recuperar dados,
    INSERT INTO table VALUES é para inserer dados na tabela, para ler usa-se SELECT coluna FROM tabela WHERE condição.

    Você vai usar o Statement e criar um objeto para criar essa query. (através do executeQuery).
    Depois da query ser executada no banco, você vai usar a classe ResultSetMetaData e criar um objeto para recuperar o resultados (que serão as linhas que o banco retornou). Tem um método chamado getColumnName e getObject() que faz isso.

    Depois que o resultado estiver dentro do seu objeto ResultSetMetaData, você pode usar o método getObject() para exibir esses resultados (no caso de várias colunas, você precisará de um loop for ou while)

    Por exemplo:
    supondo que seu objeto ResultSetMetaData (vou chamar de ob) já esteja com o resultado da consulta ao banco, você pode imprimi-lo no text field (ou guardar em um array, ou list, para imprimi-lo)

    //Se houver + de uma coluna
    for (int i=0; i<numberOfColumns; i++){
    saida = ob.getObject(i);

    }


    TextFieldNome.setText(saida[0] )
    TextFieldTel.setText(saida[1])
    TextFieldEnd.setText (saida[2])

    É semelhante como ler algo em um arquivo txt.


    Da uma lida na classe Statement e ResultSet. e da uma lida em querys CRUD de sql, não te passo nenhum link pois lembro de ter usado um livro para aprender isso.

    qualquer duvida posta ae, boa sorte



    Vou estudar sobre isso que você falou e quando tiver algum resultado ou duvida eu posto!
    Até o momento obrigado por tudo pessoal!

  1. Comment Arrow

    Publicado em: 26/06/2013 14:52:22

    Pessoal, dei uma olhada no que vocês me pediram e cheguei ao seguinte código, não copiei de canto nenhum, olhei nesses sites e com a dica que me informaram acima cheguei a esse codigo:


    Porém nessa linha o código fica com um erro.
    saida = instrucao.getObject(i);

    o erro que o editor me mostra é o seguinte:
    variable instrucao of a type Statement

    E ainda nao consigo colocar o TextFieldBusca para ser o campo onde o codigo vai buscar no banco...
    Tentei colocar assim:


    Mas deu sintaxe incorreta.

    ALGUEM ME AJUDA POR FAVOR!

    Fonte de consultas:
    http://www.devmedia.com.br/introducao-ao-comando-select-da-sql-parte-iii/16537



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 26/06/2013 15:01:20

    Tente passar o parametro desta maneira:

    String parametro = textFieldBusca.getText();

    ai você passa para o sql assim:

  1. Comment Arrow

    Publicado em: 26/06/2013 15:18:34

    [quote="RafaelPl"]Tente passar o parametro desta maneira:

    String parametro = textFieldBusca.getText();

    ai você passa para o sql assim:



    RafaelLPI, muito obrigado pela dica, ficou dessa forma, está correto?

    E sobre o erro no saida = instrucao.getObject(i);
    O erro é o seguinte:
    Symbol: methodgetObject(int)
    location: variable instrucao of a type Statement

    Podes me ajudar?



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 26/06/2013 15:48:53

    Não esqueça de tirar o ' antes da ultima " no SQL...

    deve ficar apenas '" + variavel + "');

    com resultSet,
    eu trabalho desta maneira:




    Está é a maneira que eu uso,
    então eu adaptaria seu código + ou - assim:



    Agora você pode preencher o resto, e depois me dizer se funcionou

  1. Comment Arrow

    Publicado em: 27/06/2013 09:48:28

    Opa...
    Tive uns imprevistos ontem e só modifiquei o código hoje...


    Na linha que você me falou eu não consegui tirar a segunda " ele dá erro...

    MAS...

    FUNCIONOU.....................................................................................................................

    MUITO OBRIGADO A TODOS QUE ME AJUDARAM.....

    DESSE MODO QUE VOCÊS ME PASSARAM AS DICAS EU CONSEGUI APRENDER COISAS QUE AINDA NÃO TINHA ME ATENTADO!

    OTIMO SITE, OTIMO FORUM E OTIMAS PESSOAS!!



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 27/06/2013 09:54:53

    Por nada Não esqueça de colocar [Resolvido] no tópico

  1. Comment Arrow

    Publicado em: 28/06/2013 09:59:27

    [quote="RafaelPl"]Por nada Não esqueça de colocar [Resolvido] no tópico



    Rafael, como faço para colocar resolvido???

    Obrigado!



  1. RafaelPl
    Posts:222


    Comment Arrow

    Publicado em: 28/06/2013 10:02:12

    Edite seu primeiro post, e mude o título



  1. ricoarrigoni
    Posts:2302


    Comment Arrow

    Publicado em: 02/07/2013 12:29:57

    Muito legal que conseguiu resolver seu problema, fique a vontade em voltar e postar suas dúvidas e ajudar os iniciantes no fórum.
    _________________

    Moderador JavaFree - Ricardo Arrigoni

    Como Inserir Códigos no post
    Como Inserir LINKS no post
    Devo ou não marcar o tópico como resolvido ?
    Encontrou algo de errado acontecendo no JavaFree ? Envie uma MP para a coordenação do fórum aqui
    Manual de condutas para usuários / Manual de condutas para moderadores
    Devmedia



  1. Relacionados