Sembra che ci sia riuscito!
vi posto il codice casomai qualcuno abbia avuto i miei stessi problemi...
codice:
try {
DatabaseConnection connection = new HsqldbConnection("PRONTOEPULITO");
Statement stm = connection.createStatement();
sql = "select * from dbo.View_DettaglioIndumento "
+ "where CLIEID=" + codCli + " "
+ "AND CMPNUM=" + struttura + " "
+ "AND TAGID='" + tagId + "' "
+ "ORDER BY MOVDAT, STATO DESC";
ResultSet rs = stm.executeQuery(sql);
boolean controlSingleLine = false;
int primaRiga = 0;
int i = 1;
while (rs.next()) {
//Utilizzo la variabile Prima riga per verificare se sto leggendo una record
//nuovo o ne sto leggendo uno successivo e verificare che si tratti dello stesso
//capo
//Setto le variabili con i valori correnti
if (primaRiga == 0) {
corr_TagId = rs.getString("TAGID");
corr_NomeMerce = rs.getString("MERCE");
corr_MovDat = sdf.format(rs.getDate("MOVDAT"));
corr_Stato = rs.getInt("STATO");
}
//Mi sposto al record successivo per memorizzare le variabili del recor
//successivo e effettuare così i confronti successivi
else {
prev_TagId = corr_TagId;
prev_NomeMerce = corr_NomeMerce;
prev_MovDat = corr_MovDat;
prev_Stato = corr_Stato;
corr_TagId = rs.getString("TAGID");
corr_NomeMerce = rs.getString("MERCE");
corr_MovDat = sdf.format(rs.getDate("MOVDAT"));
corr_Stato = rs.getInt("STATO");
}
//Comincio i controlli sui record...
//il ResultSet arriva alla fine con la variabile fine a true non viene
//effettuato più nessun controllo e tutto esce
//Con la variabile controlSingleLine si controlla se vi è qualche capo che
//manca di ingresso o uscita
if (primaRiga == 1) {
controlSingleLine = true;
if ((prev_Stato == 20) && (corr_Stato == 10)) {
record = "<tr class=\"tr\">\n"
+ "<td>"
+ i + ") "
+ "</td>\n"
+ "<td>"
+ corr_TagId
+ "</td>\n"
+ "<td>"
+ corr_NomeMerce
+ "</td>\n"
+ "<td>"
+ prev_MovDat
+ "</td>\n"
+ "<td>"
+ corr_MovDat
+ "</td>\n"
+ "</tr>\n";
out.print(record);
controlSingleLine = false;
primaRiga = 0;
i++;
} else {
if (controlSingleLine == true) {
if (prev_Stato == 20) {
record = "<tr class=\"tr\">\n"
+ "<td>"
+ "</td>\n"
+ "<td>"
+ corr_TagId
+ "</td>\n"
+ "<td>"
+ corr_NomeMerce
+ "</td>\n"
+ "<td>"
+ prev_MovDat
+ "</td>\n"
+ "<td>"
+ "N.D"
+ "</td>\n"
+ "</tr>\n";
out.print(record);
controlSingleLine = false;
} else {
record = "<tr class=\"tr\">\n"
+ "<td>"
+ i + ") "
+ "</td>\n"
+ "<td>"
+ prev_TagId
+ "</td>\n"
+ "<td>"
+ prev_NomeMerce
+ "</td>\n"
+ "<td>"
+ "N.D."
+ "</td>\n"
+ "<td>"
+ prev_MovDat
+ "</td>\n"
+ "</tr>\n";
out.print(record);
controlSingleLine = false;
i++;
}
}
}
} else {
primaRiga = 1;
}
}
stm.close();
// close the database connection
connection.close();
} catch (Exception cnfex) {
cnfex.printStackTrace();
out.println(cnfex);
}