Para povoar minha TableView eu uso esse método:
ublic void listarTableProduto() throws IOException{
ProdutoDAO produtoDAO = new ProdutoDAO();
tableViewProdID.setCellValueFactory(new PropertyValueFactory<>("COD_ID"));
tableViewProdNome.setCellValueFactory(new PropertyValueFactory<>("DESCRICAO"));
tableViewProdBarra.setCellValueFactory(new PropertyValueFactory<>("CODBARRA"));
tableViewProdForne.setCellValueFactory(new PropertyValueFactory<>("NOME"));
tableViewProdQntEstoque.setCellValueFactory(new PropertyValueFactory<>("QNT_ESTOQUE"));
tableViewProdPVenda.setCellValueFactory(new PropertyValueFactory<>("PVENDA"));
modelProdutos = produtoDAO.listarProduto();
observableListProdutos = FXCollections.observableArrayList(modelProdutos);
tableViewProdutos.setItems(observableListProdutos);
}
Meu Dão é esse:
public List listarProduto () throws IOException{
Connection conexao = ConexaoFirebird.getConexao();
List modelProdutos = new ArrayList();
List modelFornecedores = new ArrayList();
try{
String consultaProduto = “SELECT CAD_PROD.COD_ID, CAD_PROD.ID_FORNECEDOR, CAD_PROD.DESCRICAO, CAD_PROD.CODBARRA, CAD_PROD.PVENDA, CAD_PROD.QNT_ESTOQUE, CAD_FORNECEDOR.NOME, CAD_FORNECEDOR.COD_ID FROM CAD_PROD, CAD_FORNECEDOR WHERE CAD_PROD.ID_FORNECEDOR = CAD_FORNECEDOR.COD_ID”;
PreparedStatement pstmt = conexao.prepareStatement(consultaProduto);
ResultSet rs = pstmt.executeQuery();
ModelFornecedor modelFornecedor;
ModelProduto modelProduto;
while(rs.next()){
modelProduto = new ModelProduto();
modelFornecedor = new ModelFornecedor();
modelProduto.setCOD_ID(rs.getInt("CAD_PROD.COD_ID"));
modelProduto.setID_FORNECEDOR(rs.getInt("CAD_PROD.ID_FORNECEDOR"));
modelFornecedor.setNOME(rs.getString("CAD_FORNECEDOR.NOME"));
modelProduto.setDESCRICAO(rs.getString("CAD_PROD.DESCRICAO"));
modelProduto.setCODBARRA(rs.getString("CAD_PROD.CODBARRA"));
modelProduto.setPVENDA(rs.getFloat("CAD_PROD.PVENDA"));
modelProduto.setQNT_ESTOQUE(rs.getDouble("CAD_PROD.QNT_ESTOQUE"));
modelProdutos.add(modelProduto);
}pstmt.close();
}catch(SQLException ex){
System.out.println("Erro no Banco de Dados");
}
return modelProdutos;
}
mas creio que minha logica esta errada, alguém poderia me ajudar ?