Tenho, dentro de uma classe DAO, um método para fazer busca de itens de um pedido consultando duas tabelas. Meu banco de dados esta ok, ou seja, tem registros mas a função localizar não está encontrando registros para colocar no resultSet. O que devo fazer? Como buscar uma solução?
O código que não está encontrando registros é o que segue abaixo:
public ArrayList<ItensPedidoClienteEstendida> carregarListaItens() {
ArrayList<ItensPedidoClienteEstendida> listaItens = new ArrayList<>();
ItensPedidoClienteEstendida itemPedido;
listaItens = null;
bd = BD.getInstance();
sql = "SELECT i.id,"
+ " i.id_pedido_cli,"
+ " i.id_produto,"
+ " i.quantidade,"
+ " i.preco,"
+ " i.data_entrega,"
+ " p.descricao FROM item_pedido_cli AS i LEFT JOIN produtos AS p"
+ " ON i.id_produto = p.id"
+ " WHERE i.id = ?;";
try {
statement = bd.connection.prepareStatement(sql);
statement.setString(1, String.valueOf(pedidoCliente.getId()));
resultSet = statement.executeQuery();
int numeroItem = 0;
while(resultSet.next()) {
numeroItem++;
itemPedido = new ItensPedidoClienteEstendida();
itemPedido.setId(resultSet.getInt(1));
itemPedido.setId_pedido_cli(resultSet.getInt(2));
itemPedido.setId_produto(resultSet.getString(3));
itemPedido.setQuantidade(resultSet.getDouble(4));
itemPedido.setPreco(resultSet.getDouble(5));
itemPedido.setData_entrega(resultSet.getDate(6));
itemPedido.setNumero_item(numeroItem);
itemPedido.setDescricao_produto(resultSet.getString(7));
listaItens.add(itemPedido);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Problemas na localização dos itens!\n" + e);
} finally {
BD.getInstance().close();
}
return listaItens;
}
Atenciosamente,
Ronaldo