Fórum Exibir resultado de consulta com o banco no JTextField #565558

23/11/2011

0

Tudo bom pessoa, bom sou novo, estou com um grande problema com meu programa em java, é para projeto da faculdade ainda. Então o problema é, que preciso retornar os dados da consulta do banco no JtextField, fazer uma pesquisa pelo botão pesquisar e retornar os resultados nos TextField certos. o nome no TextField nome e assim por diante. Já tenho conexão com o banco, tudo feito, faz inserção de dados, só estou com este problema agora não consigo retornar os resultados nos TextField. Vi alguns exemplos aqui no forum mais não estou conseguindo, se alguem poder ajudar agradeço muito. Desde já agradeço.
Mario Alves

Mario Alves

Responder

Posts

23/11/2011

Mauricio Narcizo

posta o código que voce fez, para sabermos onde voce está com dificuldades e possiveis erros...
Responder

Gostei + 0

23/11/2011

Kelvin Bianchi

seuTextfield.setText(seuObjetoResultSet.getString(posiçãodoBD));
caso não queira uma uma String, dai você muda pro tipo do dado que quer retornar. [i]códido não testado![/i]
Responder

Gostei + 0

23/11/2011

Mario Alves

    private void BT_Pesquisar1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        try {
         
            String query = "SELECT nome,cpf FROM cliente " +
                           "WHERE cpf = '" +
                           TF_Pesquisa.getText() + "'";
            PreparedStatement stat = con_Cadastro.conexao.prepareStatement(query);
            ResultSet rs = stat.executeQuery( query );
            display( rs );
            
         
      }
      catch ( SQLException sqlex ) {
         JOptionPane.showMessageDialog(
         null, sqlex.toString() + "" + 1 , "Aviso",
         JOptionPane.WARNING_MESSAGE );
      }
        try {         
         rs.next();

         int recordNumber = rs.getInt( 1 );

         if ( recordNumber != 0 ) {
            TF_Nome.setText( String.valueOf( recordNumber));
            TF_CPF.setText( rs.getString( 2 ) );
            
         
             
         }
         else{
         JOptionPane.showMessageDialog(
         null, "Registro não encontrado!!" , "Aviso",
         JOptionPane.WARNING_MESSAGE );
         }
        }
                
      catch (SQLException erros)
        {
            erros.printStackTrace();
            JOptionPane.showMessageDialog(null, "Erro ao gravar registro. " + erros);
        }
          
      catch ( SQLException sqlex ) {
         JOptionPane.showMessageDialog(
         null, "Registro não encontrado!!" , "Aviso",
         JOptionPane.WARNING_MESSAGE );
      }
    
        
    }    
Então, este é um código que encontrei na WEB, mais ele está retornando um erro ao clicar no botão pesquisar. Se poderem me ajudar com outro código, um exemplo de como mostrar o resultado da consulta ao banco no TextField, agradeço. Abraços.
Responder

Gostei + 0

23/11/2011

Giverson Ortiz

Esse exemplo pode te ajudar eu acho...
public void atualiza(){
		String comando = "select * from tabela ....."; 
		try {
			PreparedStatement prep = retornaConexao().prepareStatement(comando);
//esse retornaConexao está tratando da conexão com o bd.
			ResultSet rs = prep.executeQuery();
			
			rs.next();
			
			exp = rs.getInt("coluna"); //se for Varchar ou char usa rs.getString

			
		
			
			} catch (SQLException e){
				JOptionPane.showMessageDialog(null, "Ops, ocorreu um erro!");
				e.printStackTrace();
			} catch (Exception e){
				e.printStackTrace();
		}

	}
Responder

Gostei + 0

23/11/2011

Mario Alves

[quote="giverson"]Esse exemplo pode te ajudar eu acho...
public void atualiza(){
		String comando = "select * from tabela ....."; 
		try {
			PreparedStatement prep = retornaConexao().prepareStatement(comando);
//esse retornaConexao está tratando da conexão com o bd.
			ResultSet rs = prep.executeQuery();
			
			rs.next();
			
			exp = rs.getInt("coluna"); //se for Varchar ou char usa rs.getString

			
		
			
			} catch (SQLException e){
				JOptionPane.showMessageDialog(null, "Ops, ocorreu um erro!");
				e.printStackTrace();
			} catch (Exception e){
				e.printStackTrace();
		}

	}
Estou implementando esse, mais agora me desculpa a ignorância, mas para mostrar o código no TextField como seria? huashauhs sou péssimo em Programação...trabalho com banco de dados,mas preciso fazer isso, projeto da faculdade.
Responder

Gostei + 0

23/11/2011

Giverson Ortiz

Bem, ali no exemplo a variavel exp ta recebendo o valor da coluna do banco, sendo assim, digamos que ela não está mais nula, então, primeiro você testa com System.out.println("Testando"+exp); Se ele estiver pegando certinho você pode fazer assim seucampodetexto.setText(exp);//claro que ali no exp vai ser outra variavel, tenta ai... [Edit] Se o seu campo de texto estiver em outra classe, não esquece de chamar o metodo né..
Responder

Gostei + 0

23/11/2011

Mario Alves

Muito Obrigado. Consegui, já está retornando nos TextField. Muito Obrigado pela ajuda. Mário.
Responder

Gostei + 0

28/12/2012

Cleber Souza

O que está errado aki cara


public void mostrarId(){
     try{
      sql = "SELECT MAX(idcliente) FROM cadastrocliente";
     PreparedStatement stmt = bd.connection.prepareStatement(sql);
     ResultSet rs = stmt.executeQuery();
    rs.next();
     int valor = (rs.getInt("idcliente"));
     txtCodigoCliente.setText(""+valor);    
     }catch(SQLException e){
         JOptionPane.showMessageDialog(this, ""+e);
     }
  }

Responder

Gostei + 0

29/12/2012

Carlos H

[quote="souzacleber"]O que está errado aki cara


public void mostrarId(){
     try{
      sql = "SELECT MAX(idcliente) FROM cadastrocliente";
     PreparedStatement stmt = bd.connection.prepareStatement(sql);
     ResultSet rs = stmt.executeQuery();
    rs.next();
     int valor = (rs.getInt("idcliente"));
     txtCodigoCliente.setText(""+valor);    
     }catch(SQLException e){
         JOptionPane.showMessageDialog(this, ""+e);
     }
  }

provavelmente não abriu a conexão ao banco, ou não criou a instância de bd...
Responder

Gostei + 0

29/09/2013

César Barros

Acho que está ocorrendo comigo a falha q Giverson relatou previamente: meu campo está em outra classe(acho). Sou muito iniciante em java! Como poderia fazer para chamar esse método? Já testei meus comandos com System.out e deu certo o problema agora é fazer aparece no Jtextfield. Outra coisa: como faço para q na consulta seja ignorado case sensitive e consiga qualquer parte do texto? Meu programa está dividido em pacotes:Conexão,DAO,Telas,Modelos...
package dao;

import factory.ConnectionFactory;
import java.sql.*;
import modelo.Doenca;
import java.sql.PreparedStatement;
/**
 *
 * @author César
 */
public class BuscaDoeDAO {
    private Connection connection;
    
    public BuscaDoeDAO(){
        this.connection=new ConnectionFactory().getConnection();
    }
    public void buscaDoe(Doenca doenca) throws SQLException{
        PreparedStatement stmt=(PreparedStatement) this.connection.prepareStatement("SELECT * FROM doenca WHERE patol LIKE ?");
        stmt.setString(1, doenca.getPatol()+"%");
        ResultSet rs=stmt.executeQuery();
        while(rs.next()){
            doenca.setPatol(rs.getString("patol"));
            System.out.println(rs.getString("patol"));
        }
        rs.close();
        stmt.close();
        connection.close();
    }
}
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar