A simple JDBC MetaData demo
/******************************************************************************/
/* */
/* FILE: JDBCMetaData.java */
/* */
/* A simple JDBC MetaData demo */
/* =========================== */
/* */
/* V1.00 24-JAN-1999 Te https://www.heimetli.ch */
/* */
/* ------------------------------------------------------------------------- */
/* */
/* This example was coded and tested with JDK1.2.2 */
/* */
/* Access was used as database, over the JDBC-ODBC bridge which comes */
/* with the JDK. */
/* */
/* To run this example, you need a database with the following properties: */
/* => no username */
/* => no password */
/* => a table called "Cust" */
/* => a system DSN called "Database" */
/* */
/******************************************************************************/
import java.sql.* ;
class JDBCMetaData
{
public static void main( String args[] )
{
try
{
/***********************************************************/
/* */
/* Since JDBC4 the following line is no longer necessary. */
/* */
/* See the comments in JDBC4Query.html */
/* */
/***********************************************************/
// Load the database driver
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ) ;
// Get a connection to the database
Connection conn = DriverManager.getConnection( "jdbc:odbc:Database" ) ;
// Print all warnings
for( SQLWarning warn = conn.getWarnings(); warn != null; warn = warn.getNextWarning() )
{
System.out.println( "SQL Warning:" ) ;
System.out.println( "State : " + warn.getSQLState() ) ;
System.out.println( "Message: " + warn.getMessage() ) ;
System.out.println( "Error : " + warn.getErrorCode() ) ;
}
// Get a statement from the connection
Statement stmt = conn.createStatement() ;
// Execute the query
ResultSet rs = stmt.executeQuery( "SELECT * FROM Cust" ) ;
// Get the metadata
ResultSetMetaData md = rs.getMetaData() ;
// Print the column labels
for( int i = 1; i <= md.getColumnCount(); i++ )
System.out.print( md.getColumnLabel(i) + " " ) ;
System.out.println() ;
// Loop through the result set
while( rs.next() )
{
for( int i = 1; i <= md.getColumnCount(); i++ )
System.out.print( rs.getString(i) + " " ) ;
System.out.println() ;
}
// Close the result set, statement and the connection
rs.close() ;
stmt.close() ;
conn.close() ;
}
catch( SQLException se )
{
System.out.println( "SQL Exception:" ) ;
// Loop through the SQL Exceptions
while( se != null )
{
System.out.println( "State : " + se.getSQLState() ) ;
System.out.println( "Message: " + se.getMessage() ) ;
System.out.println( "Error : " + se.getErrorCode() ) ;
se = se.getNextException() ;
}
}
catch( Exception e )
{
System.out.println( e ) ;
}
}
}