sql >> Base de Datos >  >> RDS >> Mysql

Recorriendo el conjunto de resultados

Al acceder a un RDBMS, el ResultSet que obtiene normalmente está orientado a filas. Es decir, cada vez que llama a ResultSet::next(), el cursor se mueve a la fila siguiente. Por eso tu bucle

for (int i = 0; i < columncount; i++)
{                 
    while (res->next())
    {
        ...
    }
}

solo muestra el primer atributo.

Normalmente, cambia los bucles internos y externos como

while (res->next())
{
    for (int i = 0; i < columncount; i++)
    {
        ...
    }
}

Pero si realmente necesita acceder a una columna a la vez, deberá verificar si ResultSet le permite restablecer el cursor a la primera fila. De lo contrario, debe almacenar en caché los datos o emitir la misma consulta SQL una y otra vez.