A simple JDBC MetaData demo

Home  |   Query with JDBC4  -   Query  -   Update  -   Execute  -   MetaData   -   PreparedStatement   -   CallableStatement   -   BlueJ  
/******************************************************************************/
/*                                                                            */
/*                                                    FILE: JDBCMetaData.java */
/*                                                                            */
/*  A simple JDBC MetaData demo                                               */
/*  ===========================                                               */
/*                                                                            */
/*  V1.00   24-JAN-1999   Te          http://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 ) ;
  }
 }
}
Download Source