1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajuda com resgate de dados no banco de dados.

Olá galera, tudo bem? Então, estou com uma dúvida ):

Bom, é o seguinte, eu tenho um Painel do Usuário e um menu "Alterar dados pessoais" quando o usuário clica neste menu, abre uma nova tela e o nome do usuário é preenchido automaticamente, porém outros campos, tais como endereco, telefone, etc não são!

OBS : o "Nome" vem de um outro jFrame. Deem uma olhada no código:

public Alteracao_dados_cli() {
initComponents();
conecta.conexao();
String driver = "org.postgresql.Driver";
        String caminho = "jdbc:postgresql://localhost:5432/OverRepairs";
        String usuario = "postgres";
        String senha = "admin";
        try {
            Connection conn=DriverManager.getConnection(caminho, usuario, senha);
            String sql = "select * from Clientes where nome_cli=?";
            PreparedStatement stm = conecta.conn.prepareStatement(sql);
            stm.setString(1, NomeUsu.getText());
            ResultSet rs = stm.executeQuery();

            if (rs.next())
            {
                String endereco = rs.getString("endereco_cli");
                String num_res = rs.getString("num_res_cli");
                String bairro = rs.getString("bairro_cli");
                String cidade = rs.getString("cidade_cli");
                String cep = rs.getString("cep_cli");
                String uf = rs.getString("uf_cli");
                String tel_res = rs.getString("tel_res_cli");
                String tel_cel = rs.getString("tel_cel_cli");
                String email = rs.getString("email_cli");
                String usuario_cli = rs.getString("usuario_cli");
                jTextField2.setText(endereco);
                jTextField3.setText(num_res);
                jTextField4.setText(bairro);
                jTextField5.setText(cidade);
                jTextField6.setText(cep);
                jComboBox3.setSelectedItem(uf);
                jTextField7.setText(tel_res);
                jTextField8.setText(tel_cel);
                jTextField9.setText(email);
                jTextField10.setText(usuario_cli);

            }else{
                JOptionPane.showMessageDialog(rootPane,"Erro ao resgatar dados do banco de dados!","Erro",0); 
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar se conectar com o banco de dados!");
        }
}

Eu coloquei o código no método construtor abaixo do initComponents. Ele sempre retorna com o erro que eu coloquei na condição "Erro ao resgatar dados do banco de dados!"

Mas quando eu coloco no evento do botão, tudo corre perfeitamente. Há alguma maneira de fazer com que as jTextFields sejam preenchidas logo que a tela seja aberta?

Obrigado desde já e forte abraço!

*Se eu não fui claro o bastante, posso explicar de novo.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java sql post ou faça a sua própria pergunta.