invoke next() on result set before getting field's value.
From api doc:
"...A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row..."
I think I'm getting old :-)
You use 1.000.000 times a while(aResult.next()) after the execution of the query and if you have only one result, you forget to use next() - I'll retire ;-)