Home:ALL Converter>Simple getColumnName(0) call throws Invalid column index: getValidColumnIndex

Simple getColumnName(0) call throws Invalid column index: getValidColumnIndex

Ask Time:2012-10-09T03:08:06         Author:fIwJlxSzApHEZIl

Json Formatter

I'm trying to write a JTable that takes the data from a ResultSet and uses that to create a dynamic sized table with appropriate column names and row data values from the ResultSet but I can't get JDBC to get the column names for me dynamically.

I know my select statement is good! I can print the results out easily with my ResultPrinter class that I wrote but I can't seem to get the column names for some reason.

The code: http://pastebin.com/SSNdCkNu

The output:

Connected to DB!  
SNUM, SNAME, STATUS, CITY, SUPPLIERS_ID_SEQ // printed by static Suppliers class
Columns: 5 // result set shows there are 5 valid columns as expected
Exception in thread "main" java.sql.SQLException: Invalid column index: getValidColumnIndex
at oracle.jdbc.driver.OracleResultSetMetaData.getValidColumnIndex(OracleResultSetMetaData.java:138)
at oracle.jdbc.driver.OracleResultSetMetaData.getColumnName(OracleResultSetMetaData.java:306)
at Main.main(Main.java:15)

Author:fIwJlxSzApHEZIl,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/12787909/simple-getcolumnname0-call-throws-invalid-column-index-getvalidcolumnindex
Vikdor :

JDBC column indexes start from 1 and not 0. As far as possible, it is better to retrieve data using column names to avoid hard dependency on the order of columns in the results.",
2012-10-08T19:10:19
yy