This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
In JDBC, all numberings start at one. This is terribly unfortunate design decision, but at least it is consistent across the whole JDBC API. It therefore applies to ResultSetMetaData.getColumnName() too; you're trying to access column at index 0, which does not exist.