/*
* This sample applet just selects 'Hello World' and the date from the database
* File name : JdbcApplet.java
*/

// Import the JDBC classes
import java.sql.*;

// Import the java classes used in applets
import java.awt.*;
import java.io.*;
import java.util.*;

public class JdbcApplet extends java.applet.Applet
{
   // The driver to load
   static final String driver_class = "oracle.jdbc.driver.OracleDriver";

   // The connect string
   // **** change your Oracle account name and password ****
   static final String connect_string =
   "jdbc:oracle:thin:scott/tiger@omega:1521:CSE1";

   // This is the kind of string you would use if going through the
   // Oracle 8 connection manager which lets you run the database on a
   // different host than the Web Server. See the on-line documentation
   // for more information.
  
   // The query we will execute
   static final String query = "select 'Hello JDBC: ' || sysdate from dual";

   // The button to push for executing the query
   Button execute_button;

   // The place where to dump the query result
   TextArea output;

   // The connection to the database
   Connection conn;

   // Create the User Interface
   public void init ()
   {
      this.setLayout (new BorderLayout ());
      Panel p = new Panel ();
      p.setLayout (new FlowLayout (FlowLayout.LEFT));
      execute_button = new Button ("Hello JDBC");
      p.add (execute_button);
      this.add ("North", p);
      output = new TextArea (10, 60);
      this.add ("Center", output);
   }

   // Do the work
   public boolean action (Event ev, Object arg)
   {
      if (ev.target == execute_button)
      {
         try
         {
            // Clear the output area
            output.setText (null);

            // See if we need to open the connection to the database
            if (conn == null)
            {
               // Load the JDBC driver
               output.appendText ("Loading JDBC driver " + driver_class + "\n");
               Class.forName (driver_class);

               // Connect to the databse
               output.appendText ("Connecting to " + connect_string + "\n");
               conn = DriverManager.getConnection (connect_string);
               output.appendText ("Connected\n");
            }

            // Create a statement
            Statement stmt = conn.createStatement ();

            // Execute the query
            output.appendText ("Executing query " + query + "\n");
            ResultSet rset = stmt.executeQuery (query);

            // Dump the result
            while (rset.next ())
               output.appendText (rset.getString (1) + "\n");

            // We're done
            output.appendText ("done.\n");
         }
      catch (Exception e)
      {
         // Oops
         output.appendText (e.getMessage () + "\n");
      }
      return true;
   }
   else
      return false;
   }
}
กก