Я работаю над назначением, но меня смущает формулировка этой задачи:
"Добавить метод с именем getData, который принимает строку SQL и число полей. GetData должен выполнить запрос, который был переданв, затем преобразовать ResultSet в простой 2-й ArrayList. "
Вот что у меня есть ...
public ArrayList<ArrayList<String>> getData(String sqlString, int numFields){
Statement stmnt= this.conn.createStatement();
ResultSet rs = stmnt.executeQuery(sqlString);
ArrayList<ArrayList<String>> ary = new ArrayList();
int row = 0;
while (rs.next()){ // Get next row
for (int i = 1; i <= numFields; i++) { // each column
ary[row][i-1] = rs.getString(i);
}
row++;
}
return ary;
}
Я получаю ошибку error: array required, but ArrayList<ArrayList<String>> found
ary[row][i-1] = rs.getString(i);
^
Заранее благодарю за помощь и за чтение.
РЕДАКТИРОВАТЬ: Я считаю, что это окончательная / правильная / рабочая версия, благодаря ответам, предоставленным другими удивительными пользователями :)теперь jGrasp просто кричит мне на ловлю исключений.Я ценю помощь !!!
public ArrayList<ArrayList<String>> getData(String sqlString, int numFields){
Statement stmnt= this.conn.createStatement();
ResultSet rs = stmnt.executeQuery(sqlString);
ArrayList<ArrayList<String>> ary = new ArrayList<>();
while (rs.next()){ // Get next row
ArrayList<String> columnsList = new ArrayList<>();
for (int i = 1; i <= numFields; i++) { // each column
columnsList.add(rs.getString(i));
// Add the list of columns to our list of rows
ary.add(columnsList);
}
}
return ary;
}