Ir ao conteúdo
  • Cadastre-se
Ricardo Canto Esquivel

Crud listar

Recommended Posts

Olá pessoal preciso de uma força de vocês, eu estou fazendo o meu primeiro programa que testa as operações CRUD usando java no banco de dados, já consegui fazer todas operações mas me perdi na do listar não sei como proceder, o objetivo é o usuário colocar o numero do ID no campo e clicar em listar para que os campos preencham com os dados do ID inserido.

 

Alguem pode me dar uma luz aí como fazer o procedimento? A questão é eu ja fiz o botão mandando o parâmetro pro Dao e lá no dao ele ja recebe o ID, o que eu gostaria de saber é como pego as informações da tabela usuario e como passo para os campos do Gui 
 

 public void listar(Usuario usuario) throws Exception {
    try (PreparedStatement p = connection.prepareStatement("select * from usuario where id = ?")) {
        p.setInt(1, (int) usuario.getId());

// aqui eu preciso saber como pego os dados da tabela e passo pros campos do gui

        p.executeUpdate();
        p.close();



 

filiacao.jpg

Editado por Ricardo Canto Esquivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, parabéns, é muito bom ver iniciantes utilizando preparedstatement corretamente. :thumbsup: Evite SQL Injection

 

Quando você faz um "select", você não está executando um comando de "update" e sim uma "query", então troque o seu p.executeUpdate(); por p.executeQuery();.

 

Este comando irá te retornar um resultSet que é uma tabela de dados de respostas de acordo com o select enviado, que pode ter nenhum, um, ou vários elementos.

 

De posse do resultSet o próximo passo é navegar nos elementos disponíveis e utilizar, para cada elemento, os métodos getString, getInt, getDate, ... adequados aos atributos dos seu objeto Usuario.

 

E, finalmente, popular seus campos da GUI com os dados do Usuario já devidamente instanciado.

Editado por Cweiler
link para sql injection
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Cweiler,

 

Eu consegui pegar as informações mas como eu as envio pros textfield sendo que eles estão em outro package?

 

 

    public void listar(Usuario usuario) throws Exception {
    try (PreparedStatement p = connection.prepareStatement("select * from usuario where id = ?")) {
     p.setInt(1, (int) usuario.getId());
    
     ResultSet rs = p.executeQuery();
     
     while(rs.next()){
        String rs_nome = rs.getString("nome");
        String rs_endereco = rs.getString("endereco");
        String rs_titulo = rs.getString("titulo");
        String rs_secao = rs.getString("secao");
        String rs_email = rs.getString("email");
        String rs_telefone = rs.getString("telefone");
        
       
    }
    p.close();
     

 

Editado por Ricardo Canto Esquivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha sugestão é que você utilize a instância de Usuario que você está recebendo no método listar:

public void listar(Usuario usuario) throws Exception {
    ...
     
     while(rs.next()){
        usuario.setNome(rs.getString("nome"));
        ...

Seu ponto de chamada deve ficar algo próximo a isso:

// esta parte já existe no seu código
Usuario usuario = new Usuario();
usuario.setId(campoId.getText());
listar(usuario);
// basta adicionar esta linha
campoNome.setText(usuario.getNome());

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×