Når du tilgår et RDBMS, er det resultatsæt, du får, typisk rækkeorienteret. Det vil sige, når du kalder ResultSet::next(), flytter markøren videre til næste række. Det er derfor din løkke
for (int i = 0; i < columncount; i++)
{
while (res->next())
{
...
}
}
viser kun den første attribut.
Normalt skifter du indre og ydre sløjfer som f.eks.
while (res->next())
{
for (int i = 0; i < columncount; i++)
{
...
}
}
Men hvis du virkelig har brug for at få adgang til én kolonne ad gangen, bliver du nødt til at kontrollere, om ResultSet giver dig mulighed for at nulstille markøren til den første række. Hvis ikke, skal du enten cache dataene eller udstede den samme SQL-forespørgsel igen og igen.