Может кто-нибудь сказать мне, что я здесь делаю не так? Я запускаю это примерно 100 раз, и примерно 2-8 раз это не с ошибкой: java.lang.ArrayIndexOutOfBoundsException: 10
public String[][] queryResult(String QUERY) throws SQLException{
Connection con = getPoolConnection();
Statement st2 = con.createStatement();
ResultSet rs = st2.executeQuery(QUERY);
System.out.println("Run query: "+QUERY);
// outPrint(logFile,"Run query: "+QUERY+"");
ResultSetMetaData metaData = rs.getMetaData();
int noOfColumns = metaData.getColumnCount();
//System.out.print(metaData.toString()+" : ");
this.columnName = new String[noOfColumns];
this.columnTypes = new String[noOfColumns];
for (int i = 1; i <= noOfColumns; i++) {
this.columnName[i-1] = metaData.getColumnLabel(i);
this.columnTypes[i-1] = metaData.getColumnTypeName(i);
System.out.print(this.columnName[i-1]+" - "+this.columnTypes[i-1]+" , ");
}
System.out.println(" - ");
rs.last();
int noOfRows = rs.getRow();
rs.beforeFirst();
String[][] result = new String[noOfRows][noOfColumns];
int loop = 0;
while(rs.next()) {
loop++;
for (int i = 1; i <= noOfColumns; i++) {
result[loop-1][i-1] = getResultSwitch(metaData.getColumnType(i), rs, i);
//System.out.println("result "+this.columnTypes[i-1]+" : "+result[loop-1][i-1]);
System.out.print(result[loop-1][i-1]+" , ");
}
System.out.println(" - ");
}
rs.close();
st2.close();
con.close();
//System.out.println("Closed connection.");
return result;
}