sql >> Database teknologi >  >> RDS >> Mysql

Gennemgå resultatsættet

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.




  1. SQL INSERT for begyndere

  2. Tilføj timer til en tidsværdi i PostgreSQL

  3. mysql - Opdater automatisk forekomster i en anden tabel

  4. Brug tidsstempel (eller datetime) som en del af primærnøgle (eller en del af klynget indeks)