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.