Bom Dia
Galera é o seguinte, estou fazendo uma pesquisa no banco de dados e pego o result set e monto um objeto e daí add esse objeto na minha array, formando assim uma array de objetos, mas daí quando vou percorrer a minha array para imprimir o conteudo dela só imprimi o ultimo item setado no objeto. Abaixo segue os dois métodos que estou usando, desde já agradeço!!
Esse é o método responsável por fazer a pesquisa no banco e retornar a minha array preenchida.
public static ArrayList pesqBoni() {
ArrayList array = new ArrayList();
Connection conn = null;
try {
conn = Conecta.conectaBD();
PreparedStatement pstmt = conn.prepareStatement(
"SELECT bonificacao.codigo, bonificacao.statusBoni, pedido.codPed, fornecedor.nome, " +
" cliente.nomeCliente,pedido.dataPed " +
"FROM bonificacao LEFT JOIN fornecedor ON (bonificacao.fkFornec = fornecedor.codigo)" +
"LEFT JOIN pedido ON (bonificacao.fkPed = pedido.codPed)" +
"LEFT JOIN cliente ON(pedido.fkCliente = cliente.codCliente)" +
"WHERE pedido.dataPed BETWEEN ? AND ?");
pstmt.setString(1, GridBoni.getDataIni());
pstmt.setString(2, GridBoni.getDataFim());
ResultSet rs = pstmt.executeQuery();
while(rs.next()) {
DBGrid grid = new DBGrid();
grid.setCodigo (rs.getInt("bonificacao.codigo" ));
grid.setPedido (rs.getInt("pedido.codPed" ));
grid.setStatus (rs.getInt("bonificacao.statusBoni"));
grid.setCliente(rs.getString("cliente.nomeCliente"));
grid.setFornec (rs.getString("fornecedor.nome" ));
grid.setData (rs.getString("pedido.dataPed" ));
array.add(grid);
System.out.println("Codigo = " + grid.getCodigo() + ", pedido = " + grid.getPedido() + ", status = " + grid.getStatus() +
"Client = " + grid.getCliente() + ", fornec = " + grid.getFornec() + ", data = " + grid.getData());
}
} catch (SQLException ex) {
Logger.getLogger(DBGrid.class.getName()).log(Level.SEVERE, null, ex);
}
return array;
}
Método resposável por imprimir conteúdo da array
private void dataFiFocusLost(java.awt.event.FocusEvent evt) {
ArrayList array = new ArrayList();
GridBoni.setDataIni(TelaRelat.trataData(dataIn.getText()));
GridBoni.setDataFim(TelaRelat.trataData(dataFi.getText()));
array = DBGrid.pesqBoni();
Iterator iterator = array.iterator();
while(iterator.hasNext()) {
DBGrid grid = (DBGrid) iterator.next();
System.out.println("Codigo = " + grid.getCodigo() + ", pedido = " + grid.getPedido() + ", status = " + grid.getStatus() +
"Client = " + grid.getCliente() + ", fornec = " + grid.getFornec() + ", data = " + grid.getData());
}
}