public void displayResultSet(ResultSet inputResultSet) { // displays the input resultset type object in table form
ResultSetMetaDeta metaData = inputResultSet.getMetaData();
int columnCount = metaData.getColumnCount();
int max[columnCount]; // array to contain the maximum length of each column
ResultSet temp = inputResultSet;
for (i = 0; i < columnCount; i++) {
max[i] = metaData.getColumnName(i+1).length(); // initial values set to the column names' length
}
do {
for (i = 0; i < columnCount; i++) {
if (inputResultSet.getString(i+1).length() < max[i]) {
max[i] = inputResultSet.getString(i+1).length(); // if found a longer string, insert its length into the array
}
}
} while (temp.next()); // we shouldn't have false on this at the first time
for (i = 0; i < columnCount; i++) { // display of the columns' name
result.append(addSpaces(metaData.ColumnName(i+1), max[i]));
if ( i + 1 != columnCount ) result.append("|");
}
result.append("\n");
for (i = 0; i < columnCount; i++) { // some design on the display
for (j = 0; j < max[i]; j++) {
result.append("-");
}
if ( i + 1 != columnCount ) result.append("|");
}
result.append("\n");
temp = inputResultSet; // re-initializing temp, it already reached end in the second loop
do {
for (i = 0; i < columnCount; i++) {
result.append(addSpaces(temp.getString(i+1), max[i]));
if ( i + 1 != columnCount ) result.append("|");
}
result.append("\n");
} while (temp.next());
temp.close();
}