Accessing database meta data

       ResultSetMetaData rsmd = rs.getMetaData(); // get result set meta data
DatabaseMetaData dbmd = dbConnection.getMetaData();

String[] tabletypes = {"TABLE"};
ResultSet rs = dbmd.getTables(null,null,null,tabletypes);
      while(rs.next()) {
           String tablename = rs.getString(3); // get the table name
           metadataField.append(tablename+": \n");
           ResultSet rs3 = dbmd.getColumns(null,null,tablename,"%");
           while(rs3.next())
           {
            String name = rs3.getString(4);
            String type = rs3.getString(6);
            metadataField.append("  "+name+":"+type+"\n");
           }
            metadataField.append("\n");
            rs3.close();
           
         }



Given a Connection object dbConnection, display its meta data in a JTextArea named metadataField.  

 public void displaySchema()
    {
     try{
         String[] tabletypes = {"TABLE"};
        
         DatabaseMetaData dbmd = dbConnection.getMetaData();
         
         ResultSet rs = dbmd.getTables(null,null,null,tabletypes);
  //
 // process each table
 //
         while(rs.next()) {
           String tablename = rs.getString(3); // get the table name
           metadataField.append(tablename+": \n");
           ResultSet rs3 = dbmd.getColumns(null,null,tablename,"%");
           while(rs3.next())
           {
            String name = rs3.getString(4);
            String type = rs3.getString(6);
            metadataField.append("  "+name+":"+type+"\n");
           }
            metadataField.append("\n");
            rs3.close();
           
         }
        
         rs.close();
       }
       catch(SQLException sqle) {
           errorLog.append("Sql Exception :"+sqle.getMessage()+"\n");
           return;
        }
        catch(Exception ge) {
          errorLog.append("Exception :" + ge.getMessage()+"\n\n");
          return;
       } 
    }