Java Reference
In-Depth Information
DatabaseMetaData dbmd = con.getMetaData();
String catalog = con.getCatalog();
ResultSet rs = dbmd.getColumns(catalog,"%",tableName,"%");
ResultSetMetaData md = rs.getMetaData();
int nColumns = md.getColumnCount();
String value;
while(rs.next()){
columnData = new Hashtable();
for(int i=1;i<=nColumns;i++){
value = rs.getString(i);
if(value==null)value="<NULL>";
columnData.put(md.getColumnLabel(i),value);
}
columns.addElement(columnData);
}
}
catch(SQLException e){
reportException(e);
}
return columns;
}
The code examples of Listings 10-5 , 10-5 , and 10-6 are additions to the DatabaseUtilities class.
Further examples of the use of DatabaseMetaData are given later in this chapter.
Note
Many of the DatabaseMetaData methods have been added or modified in JDBC 2.0 and
JDBC 3.0, so if your driver is not JDBC 2.0 or JDBC 3.0 compliant, a SQLException
may be thrown by some DatabaseMetaData methods.
Displaying DatabaseMetaData in a JTree
The class required to display the table and column data retrieved from the DatabaseMetaData object
is an extension of JInternalFrame. This is used to display a JTree in a JScrollPane , as shown
in Listing 10-7 .
Listing 10-7: Displaying DatabaseMetaData in a JTree
package JavaDatabaseBible.part2;
import java.awt.*;
import java.util.Hashtable;
import java.util.Vector;
import javax.swing.*;
import javax.swing.JTree;
import javax.swing.border.*;
import javax.swing.tree.*;
Search WWH ::




Custom Search