Boa tarde,
Estou com o probleminha muito estranho num Resultset de um metodo. Tá funcionando, porém ele coloca o valor num VO diferente do resultado da Query. Segue o Código do método:
Alguém tem uma sugestão??
public List getOutletByIDRapido(List lOutlets, String country) throws DAOException {
System.out.println("Iniciando o método getOutletByIDRapido ...");
Connection conn = null;
PreparedStatement st = null;
ResultSet rst = null;
String sql = null;
try {
conn = this.getConnection(country);
List listOutVo = new ArrayList();
for (Iterator itlists = lOutlets.iterator(); itlists.hasNext();) {
OutletVo outletVO = (OutletVo) itlists.next();
System.out.println("uploadOutletSheetVo.getOutletID(): " + outletVO.getId());
System.out.println("uploadOutletSheetVo.getRegionID(): " + outletVO.getRegionID());
sql = " SELECT " +
"O.OUTLET_ID, " +
"O.OUTLET_DESC, " +
"O.OUTLET_SALES_REGION_ID, " +
"O.OUTLET_STATUS_ID " +
"FROM OUTLET O " +
"WHERE O.OUTLET_ID = ? ";
st = conn.prepareStatement(sql);
st.setInt(1, outletVO.getId());
rst = st.executeQuery();
System.out.println("SQL getOutletByIDRapido: " + sql);
while (rst.next()) {
OutletVo outVo = new OutletVo();
System.out.println("outVo.getRegionID(): " + outVo.getRegionID()); // outVo.getRegionID() = 0
System.out.println("rs.getInt(3): " + rst.getInt(3)); // rst.getInt(3) = 5, deveria ser igual a 1
outVo.setId(rst.getInt(1));
outVo.setDescricao(rst.getString(2));
outVo.setRegionID(rst.getInt(3)); // rst.getInt(3) = 5, deveria ser igual a 1
outVo.setStatus(rst.getInt(4));
listOutVo.add(outVo);
}
rst.close();
st.close();
}
conn.close();
return listOutVo;
} catch (SQLException e) {
throw new DAOException(e);
} catch (Exception e) {
throw new DAOException(e);
} finally {
this.release(conn, st, rst);
}
}
Obrigado!!
Att,
Igor