Retrieving information from MySQL Database
Hi. I am trying to retrieve information from a MySQL database and
placing it in a JTable. However the code I have used gets the results
and displays it in the system output. However no results are placed in
the JTable. Does anyone know the reason. Below is the code:
public void showDatabase() {
try {
System.out.println("Showing database");
Statement s = connection.createStatement();
String query = "SELECT * FROM " +
pocket_money_calculator.Login.txtUser.getText() +
";";
ResultSet table = statement.executeQuery(query);
// determine properties of table
ResultSetMetaData meta = table.getMetaData();
String[] colNames = new String[meta.getColumnCount()];
Vector[] cells = new Vector[colNames.length];
for (int col = 0; col < colNames.length; col++) {
colNames[col] = meta.getColumnName(col + 1);
cells[col] = new Vector();
}
// hold data from result set
while (table.next()) {
for (int col = 0; col < colNames.length; col++) {
Object cell = table.getObject(colNames[col]);
cells[col].add(cell);
}
}
// print column headings
for (int col = 0; col < colNames.length; col++) {
System.out.print(colNames[col].toUpperCase() + "\t");
}
System.out.println();
// print data row-wise
while (!cells[0].isEmpty()) {
for (int col = 0; col < colNames.length; col++) {
System.out.print(cells[col].remove(0).toString()
+ "\t");
}
System.out.println();
JTable tblResults = new JTable();
tblResultsPane.add(tblResults);
tblResultsPane.getViewport().add(tblResults);
}
} catch (SQLException ex) {
System.err.println("" + ex.toString());
}
// exit more gently
catch (Exception e) {
e.printStackTrace();
}
}
Any help would be apreciated. Thanks very much for your help