- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
public Object [][] getResults (String query){
Object oArray [][] = {};
try (Connection con = Connector.getNewConnection()) {
Statement st = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
try (ResultSet rs = st.executeQuery(query)){
int rows = 0;
int cells = 0;
List<Object> lstObjX = new ArrayList<Object> (64);
while (rs.next()){
rows ++;
int x = 1;
while (true){
try {
lstObjX.add(rs.getObject(x));
x++;
}catch (Exception e) {
cells = (x != 1) ? x-1 : 0;
break;
}
}
for (; x-1 < cells; x++){
lstObjX.add(rs.getObject(x));
}
}
oArray = new Object [rows][cells];
int z = 0;
for (int y = 0; y < rows; y++){
for (int x = 0; x < cells; x++){
oArray[y][x] = lstObjX.get(z);
z++;
}
}
}
}
catch (SQLException e) {
System.err.println(e.getMessage());
}
return oArray;
}
Превращаем Resultset в 2-мерную таблицу [y][x], где [y] - индекс строки, а [x] - индекс значений полей
gost 03.08.2016 01:54 # +6
Фу, блядь! Фу, нахуй!
bydlan228 03.08.2016 02:00 # +1
guesto 03.08.2016 18:35 # +1
двухмерные массивы не принято использовать?
gost 03.08.2016 18:48 # +1
guesto 03.08.2016 18:57 # +1
kegdan 03.08.2016 18:49 # +2
Ну и, зачастую, мегасвитч
guesto 03.08.2016 18:55 # +1
kegdan 03.08.2016 18:59 # −1
kerman 03.08.2016 16:58 # +2
bormand 03.08.2016 18:14 # 0