Saat mengakses RDBMS, ResultSet yang Anda dapatkan biasanya berorientasi baris. Artinya, setiap kali Anda memanggil ResultSet::next(), kursor berpindah ke baris berikutnya. Itulah mengapa loop Anda
for (int i = 0; i < columncount; i++)
{
while (res->next())
{
...
}
}
hanya menampilkan atribut pertama.
Biasanya Anda mengganti loop dalam dan luar seperti
while (res->next())
{
for (int i = 0; i < columncount; i++)
{
...
}
}
Tetapi jika Anda benar-benar perlu mengakses satu kolom pada satu waktu, Anda harus memeriksa apakah ResultSet memungkinkan Anda untuk mengatur ulang kursor ke baris pertama. Jika tidak, Anda harus menyimpan data dalam cache, atau mengeluarkan kueri SQL yang sama berulang kali.