Resultset получить все значения
Как я могу получить все значения из всех столбцов?
Я пробовал с этим кодом:
 values.add(rs.getString(number));
где number-количество строк.
но он дает мне только все значения из последнего столбца.
мне нужно взять значения из каждого столбца, а затем добавить его в ArrayList.
Это мой полный код:
  // The column count starts from 1
  int number = 0;
  for ( i = 1; i < columnCount + 1; i++ ) {
  number++;
  ColumnNames = rsmd.getColumnName(i);
  ar.add(ColumnNames);
  System.out.println(ar);  
  }
 model.setColumnCount(columnCount);
  while ( rs.next() ) {
// values.add(rs.getString(ar.indexOf(i)));
values.add(rs.getString(number));
 System.out.println(values);
     model.addRow(new Object[] {value1,  value2, value3, value4});
  }
            2 ответов
для каждого rs.next():
Object[] row = new Object[columnCount];
for (int i = 1; i <= columnCount; ++i) {
    row[i - 1] = rs.getString(i); // Or even rs.getObject()
}
model.addRow(row);
ResultsetMetaData также содержит количество столбцов. Приведенный ниже фрагмент заполнит массив объектов для каждого столбца в результирующем наборе.
API doc - ваш друг: http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html
ResultSet resultSet = getResultSetFromSomewhere();
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();
while (resultSet.next()) {
    Object[] values = new Object[columnCount];
    for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
        values[i - 1] = resultSet.getObject(i);
    }
    model.addRow(values);
}