How do I iterate through the values of a row from a result set in java?

This is just a variation the a_horse_with_no_name answer. Here we use a List of List objects as suggested there.

final ResultSetMetaData meta = rs.getMetaData();
final int columnCount = meta.getColumnCount();
final List<List<String>> rowList = new LinkedList<List<String>>();
while (rs.next())
{
    final List<String> columnList = new LinkedList<String>();
    rowList.add(columnList);

    for (int column = 1; column <= columnCount; ++column) 
    {
        final Object value = rs.getObject(column);
        columnList.add(String.valueOf(value));
    }
}

// add the rowList to the request.

Edit Added final to all variables.


It's easy if you use the Java Standard Tag Library.

Check this out, too:

http://docs.oracle.com/javaee/1.4/tutorial/doc/JSTL3.html

I would strongly discourage you from embedding scriptlet code in your JSPs. It's not the way to go.

If you accept that, then every other answer given here has to be discarded. They all belong in server-side Java classes, not a JSP.


ResultSetMetaData meta = rs.getMetaData();
int colCount = meta.getColumnCount();
while (rs.next())
{
    for (int col=1; col <= colCount; col++) 
    {
        Object value = rs.getObject(col);
        if (value != null) 
        {
            System.out.print(value.toString());
        }
    }
}

But I would not recommend to do something like this directly in the JSP page. Build up some kind of value holder (e.g. a List of Lists) in the backend and iterate over that.

Tags:

Sql

Java

Jsp