1

I am running an SQL query on a AS400 table.

I dont know in advance the columns names i am extracting in my SQL.

in my ResultSet i need to:

  1. get the result set columns (MetaData of the result records - one time).

  2. for each record on the set get the values of the columns.

How can i do this?

1 Answer 1

5

There are DataBaseMetaData retrieved from Connection.getMetaData() and ResultSetMetaData from a ResultSet.

Some example java code snipped that may help you:

Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( "SELECT * FROM MY_TABLE" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); /*if you need the column names...*/ //for( int i = 1; i <= numberOfColumns ) { // rsmd.getColumnName( i ); //} List<Object[]> result = new ArrayList<Object[]>(); while( rs.next() ) { Object[] values = new Object[ numberOfColumns ]; for( int index = 0; index < numberOfColumns; ) { values[ index ] = rs.getObject( ++index ); } result.add( values ); } 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.