Perhaps you were assuming that error message meant that no records were returned? That's a tempting guess if you don't look closely at the stack trace and observe that it's the getString() method which throws the exception, not the executeQuery() method.
And that's because the JDBC-ODBC driver doesn't like it when you try to get the same column twice from the same record. I'm guessing it's the second call to getString() which throws the exception, you can confirm that in your code. Do you really have to use that driver? There are better
JDBC drivers than that one (namely all other JDBC drivers).