@fecuencas escreveu:
Boa Tarde,
Sou iniciante em java e estou tentando criar uma aplicação para cadastro de clientes usando a IDE NetBeans. Através de pesquisas, consegui criar o cadastro de clientes e o método para consultar o mesmo, porém, ao tentar exibir o retorno da consulta em alguns JTextFields na classe que contem o botão de Consulta, o valor capturado retorna como nulo. Já tentei varias maneiras de corrigir isso, porém não obtive sucesso. Gostaria de uma ajuda:
Segue Código:
Class Cliente
public class Cliente { private int id; private String nome; private String cpf; private String endereco; private String numero; private String complemento; private String telefone; private String celular; public Cliente() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNome() { return nome ; } public void setNome(String nome) { this.nome = nome; } public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } public String getComplemento() { return complemento; } public void setComplemento(String complemento) { this.complemento = complemento; } public String getTelefone() { return telefone; } public void setTelefone(String telefone) { this.telefone = telefone; } public String getCelular() { return celular; } public void setCelular(String celular) { this.celular = celular; } }``
Classe ClienteDao
public class ClienteDao { private final String LISTBYID = "SELECT * FROM cliente WHERE ID=?"; ... public Cliente getClienteById(int id) { Connection conn = null; PreparedStatement pstm = null; ResultSet rs = null; Cliente cliente = new Cliente(); try { conn = FabricaConexao.getConexao(); pstm = conn.prepareStatement(LISTBYID); pstm.setInt(1, id); rs = pstm.executeQuery(); while (rs.next()) { cliente.setId(rs.getInt("id")); cliente.setNome(rs.getString("nome")); cliente.setCpf(rs.getString("cpf")); cliente.setEndereco(rs.getString("endereco")); cliente.setNumero(rs.getString("numero")); cliente.setComplemento(rs.getString("complemento")); cliente.setTelefone(rs.getString("telefone")); cliente.setCelular(rs.getString("celular")); } FabricaConexao.fechaConexao(conn, pstm, rs); } catch (ClassNotFoundException | SQLException e) { JOptionPane.showMessageDialog(null, "ERRO CONSULTA " + e.getMessage()); } return cliente; } }
Até aqui ele funciona corretamente, consegue efetuar a consulta no banco de dados e armazenar os valores nas variáveis. O problema é na hora de exibir no JTextField.
Tela com os JTextFields
public class TelaCadastroClienteInternalFrame extends javax.swing.JInternalFrame { /** * Creates new form TelaCadastroClienteInternalFrame */ public TelaCadastroClienteInternalFrame() { initComponents(); ... } private void btnConsultarClienteActionPerformed(java.awt.event.ActionEvent evt) { Cliente cliente = new Cliente(); ClienteDao clientedao = new ClienteDao(); clientedao.getClienteById(Integer.parseInt(txtIdCliente.getText())); txtIdCliente.setText(Integer.toString(cliente.getId())); txtNomeCliente.setText(cliente.getNome()); txtCpfCliente.setText(cliente.getCpf()); txtEnderecoCliente.setText(cliente.getEndereco()); txtNumeroCliente.setText(cliente.getNumero()); txtComplCliente.setText(cliente.getComplemento()); txtTelefoneCliente.setText(cliente.getTelefone()); txtCelularCliente.setText(cliente.getCelular()); } }
Mensagens: 8
Participantes: 3