// Purpose.  Retrieving the results from an SQL "select" statement

import java.sql.*;

public class PrintResults {
   public static void main( String[] args ) {
      Connection conn = null;
      try {
         Class.forName( "jdbc.idbDriver" );
         conn = DriverManager.getConnection(
                           "jdbc:idb:c:\\jdk1.2\\InstantDB\\vlh\\vlhdb.prp" );
         Statement s = conn.createStatement();

         ResultSet rs = s.executeQuery( "SELECT * FROM mytable" );
         // s.executeQuery( "SELECT * FROM mytable" );
         // ResultSet rs = s.getResultSet();
         outputResults( rs );

         rs = s.executeQuery( "SELECT two FROM mytable" );
         outputResults( rs );

         rs = s.executeQuery( "SELECT avg(two) FROM mytable" );
         outputResults( rs );

      } catch (Exception ex) {
         System.err.println( ex );
      } finally {
         try { conn.close(); } catch (Exception ex) {System.err.println(ex);}
      }
   }
   static void outputResults( ResultSet rs ) throws SQLException {
      ResultSetMetaData rsmd = rs.getMetaData();
      int numCols = rsmd.getColumnCount();
      for (int i=1; i <= numCols; i++)
         System.out.print( rsmd.getColumnLabel(i) + '\t' );
      System.out.println();
      while (rs.next()) {
         for (int i=1; i <= numCols; i++)
            System.out.print( rs.getString(i) + '\t' );
         System.out.println();
      }
   }
}

// InstantDB  - Version 1.91
// Copyright (c) 1997-1999 Instant Computer Solutions Ltd.
// main SELECT * FROM mytable
// one     two
// xyz     12
// rst     6
// abc     18
// main SELECT two FROM mytable
// two
// 12
// 6
// 18
// main SELECT avg(two) FROM mytable
// AVG(two)
// 12
