Duvida JTable - NetBeans

1 resposta
B

Ola, estou tentando popular um JTable, já procurei na internet e cada lugar me mostra de uma fora diferente. tenho uma classe que faz a conexão com banco de dados MSSQL Server 2008. Trago os dados do banco em um resultset mas não consigo resolver o problema.

Segue a classe de conexão.

public class AparelhoDAO {

Aparelho aparelho;

public void setAparelhoDAO(Aparelho aparelho) {

    this.aparelho = aparelho;
}

public List <Aparelho> consultaAparelho(Aparelho aparelho) throws SQLException {

        List<Aparelho> lista = new ArrayList<Aparelho>();  

    try {
                   
        Connection conn = ConnectionManager.getConnection();
        String sql = " usp_aparelhoSelect ?, ?, ? ";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setInt(1, aparelho.getIdAparelho());
        ps.setInt(2, aparelho.getIdModelo());
        ps.setInt(3, aparelho.getIdControleCompra());
        ps.executeQuery();
        ResultSet rs = ps.executeQuery();
         
         while (rs.next()) {
            
            Aparelho aparelhoLista = new Aparelho();  

            aparelhoLista.setIdAparelho(rs.getInt(1));
            aparelhoLista.setImei(rs.getString(2));
            aparelhoLista.setModelo(rs.getString(3));
            aparelhoLista.setTipoProduto(rs.getString(4));
            aparelhoLista.setQtdChip(rs.getInt(5));
            
            lista.add(aparelhoLista);

        return lista ;
                           } 
       }catch (Exception e) {
    }
        return lista ;     
}

}

Estou usando procedures no codigo porque não quero ter sql no codigo. Está é a primeira versão do sistema que estou desenvolvendo.

No formulario no evento de clik em um botão.

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:
    
    AparelhoDAO aparelhoDAO = new AparelhoDAO();
    Aparelho aparelho = new Aparelho();
    ModeloDAO modeloDAO = new ModeloDAO();
    Modelo modelo = new Modelo();
   
   if (checkboxModelo.isEnabled() == true){
        
    modelo.setIdModelo(jTextFieldConsulta.getX());    
    modeloDAO.setModeloDAO(modelo);
    aparelho.setIdModelo(modeloDAO.returnIdModelo());
    aparelhoDAO.setAparelhoDAO(aparelho);
    
    final String[] columnNames = {"ID_APARELHO",
                             "IMEI",
                             "MODELO",
                             "ID_CONTROLE_COMPRA",
                             "TIPO_PRODUTO",
                             "QTD_CHIP",
                             "DATA_INCLUSAO"};
    
    
   final Object[][] data = {aparelhoDAO.consultaAparelho(aparelho)};   -- nesta linha acontece um erro que informa que o tipo de dado não é compativel, tentei substituir para um arrayList mas não resolveu
   
         
   final JTable jTableConsultaAparelho = new JTable(data);


      
   }
   
    
}

Quero fazer a consulta no banco de acordo com o filtro escolhido por isso estou usando um checkbox para determinar o que quero consultar.
No meu formulario tenho um Jtable, jTextField (onde digito o valor a ser procurado), e o checkbox para determinar o que quero consultar.

Agradeço desde já se alguem puder me ajudar.

1 Resposta

B

Desculpe, na ultima linha de codigo esta com um erro o correto segue abaixo

final JTable jTableConsultaAparelho = new JTable(data,columnNames);

Criado 8 de dezembro de 2011
Ultima resposta 8 de dez. de 2011
Respostas 1
Participantes 1