Ir ao conteúdo

Posts recomendados

Postado

Estou tentando terminar este método, mas não consigo pegar a data tipo Itens para colocar em uma lista.

public void preencerTabela(JTable tabela) throws SQLException {

        DefaultTableModel modelo = new DefaultTableModel(null, new String[]{
            "Codigo", "Nome", "Marca", "Tipo", "Quantidade", "Validade"});

        ArrayList<Itens> lista = new ArrayList<Itens>();

        ResultSet rs = Conexao.getConnection().prepareStatement("SELECT * FROM Itens").executeQuery();

        while (rs.next()) {

            Itens item = new Itens();
            item.setCodigo(rs.getString(1));
            item.setNome(rs.getString(2));
            item.setMarca(rs.getString(3));
            item.setTipo(rs.getString(1));
            item.setQuantidade(rs.getInt(1));
            item.setValidade(rs.getDate(1));

            lista.add(item);
        }

        ArrayList<Itens> lista2 = lista;

        for (int i = 0; i < lista.size(); i++) {

            String[] dados = new String[6];
            dados[0] = lista2.get(i).getCodigo();
            dados[1] = lista2.get(i).getNome();
            dados[2] = lista2.get(i).getMarca();
            dados[3] = lista2.get(i).getTipo();
            dados[4] = Integer.toString(lista2.get(i).getQuantidade());
            dados[5] = lista2.getValidade());//"getValidade" é do tipo Date
            
            modelo.addRow(dados);

        }

        tabela.setModel(modelo);
    }

 

Postado

Mano ta estranho esse índices aqui do retorno do banco (é o que está em negrito):

 

 

item.setCodigo(rs.getString(1));

item.setNome(rs.getString(2));

item.setMarca(rs.getString(3));

item.setTipo(rs.getString(1));

item.setQuantidade(rs.getInt(1));

item.setValidade(rs.getDate(1));

 

Tenta usar o nome das colunas retornadas pela sua query. Exemplo:

 

SELECT codigo, nome FROM PRODUTOS;

while(rs.next()){

     item.setCodigo(rs.getString("codigo"));

     item.setNome(rs.getString("nome"));

}

 

E se isso ai em cima não resolver você pode converter dessa forma exemplo que utilizo para formatar datas:

 
        String nasc = "14/12/1989";
        String dataBanco;
        
        Date data = (Date) new SimpleDateFormat("dd/MM/yyyy").parse(nasc);
        dataBanco = new SimpleDateFormat("yyyy-MM-dd").format(data);
        
        System.out.println(dataBanco);

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!