Previous Topic

Next Topic

Manage

The manage step provides data management functionality for your application and/or process.

Below is the code for Manage():

   //
   // Manage()
   //
   // Populates table and perform a simple query
   //
   private static void Manage ()
   {
      System.out.println("MANAGE");

      // populate the tables with data
      Add_CustomerMaster_Records();
      Add_ItemMaster_Records();

      Add_Transactions();

      // display the orders and their items
      Display_CustomerOrders();
      Display_OrderItems();
   }


   //
   // Delete_Tables()
   //
   // This function removes all existing tables
   //
   private static void Delete_Tables ()
   {

      try
      {
         stmt.executeUpdate("DROP TABLE ordritem");
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
      try
      {
         stmt.executeUpdate("DROP TABLE custordr");
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
      try
      {
         stmt.executeUpdate("DROP TABLE custmast");
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
      try
      {
         stmt.executeUpdate("DROP TABLE itemmast");
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
   }


   //
   // Add_CustomerMaster_Records()
   //
   // This function adds records to table CustomerMaster from an
   // array of strings
   //
   private static void Add_CustomerMaster_Records ()
   {
      String data[] = {
         "('1000','92867','CA','1','Bryan Williams','2999 Regency','Orange')",
         "('1001','61434','CT','1','Michael Jordan','13 Main','Harford')",
         "('1002','73677','GA','1','Joshua Brown','4356 Cambridge','Atlanta')",
         "('1003','10034','MO','1','Keyon Dooling','19771 Park Avenue','Columbia')"
      };

      System.out.println("\tAdd records in table CustomerMaster...");

      try
      {
         // add one record at time to table
         for (int i = 0; i < data.length; i++) {
            stmt.executeUpdate("INSERT INTO custmast VALUES " + data[i]);
         }
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
      try
      {
         conn.commit();
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
   }


   //
   // Add_ItemMaster_Records()
   //
   // This function adds records to table ItemMaster from an
   // array of strings
   //
   private static void Add_ItemMaster_Records ()
   {
      String data[] = {
         "(10,19.95,'1','Hammer')",
         "(3,  9.99,'2','Wrench')",
         "(4, 16.59,'3','Saw')",
         "(1,  3.98,'4','Pliers')"
      };

      System.out.println("\tAdd records in table ItemMaster...");

      try
      {
         // add one record at time to table
         for (int i = 0; i < data.length; i++) {
            stmt.executeUpdate("INSERT INTO itemmast VALUES " + data[i]);
         }
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
      try
      {
         conn.commit();
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
   }


   //
   // Add_Transactions()
   //
   // Add an Order and associated Items "as a transaction" to their
   // respective tables.  A transaction is committed or aborted if the
   // customer number on the order is confirmed valid.  Likewise each
   // item in the order is verified to be a valid item.
   //
   private static void Add_Transactions()
   {
      int   i, j = 0;
      String[][] orders = {
         { "09/01/2002", "09/05/2002", "1", "1001" },
         { "09/02/2002", "09/06/2002", "2", "9999" },  // bad customer number
         { "09/22/2002", "09/26/2002", "3", "1003" }
      };

      String[][] items = {
         { "1", "1", "2", "1" },
         { "1", "2", "1", "2" },
         { "2", "1", "1", "3" },
         { "2", "2", "3", "4" },
         { "3", "1", "2", "3" },
         { "3", "2", "2", "99"}  // bad item number
      };

      System.out.println("\tAdd transaction records...");

      for (i = 0; i < orders.length; i++)
      {
         try
         {
            // add order record
            stmt.executeUpdate("INSERT INTO custordr VALUES (" +
               "'" + orders[i][0] + "'," +
               "'" + orders[i][1] + "'," +
               "'" + orders[i][2] + "'," +
               "'" + orders[i][3] + "')");
         }
         catch (SQLException e)
         {
            Handle_Exception(e);
         }

         // process order items
         while (items[j][0].compareTo(orders[i][2]) == 0)
         {
            try
            {
               // add item record
               stmt.executeUpdate("INSERT INTO ordritem VALUES (" +
                  items[j][1] + "," +
                  items[j][2] + "," +
                  "'" + items[j][0] + "'," +
                  "'" + items[j][3] + "')");
            }
            catch (SQLException e)
            {
               Handle_Exception(e);
            }

            // bump to next item
            j++;

            // exit the while loop on last item
            if (j >= items.length)
               break;
         }
         
         try
         {
            conn.commit();
         }
         catch (SQLException e)
         {
            Handle_Exception(e);
         }
      }
   }


   //
   // Display_CustomerOrders()
   //
   // This function displays the contents of CustomerOrders table.
   //
   private static void Display_CustomerOrders ()
   {
      System.out.println("\n\tCustomerOrders Table...");

      try
      {
         // execute a query statement
         ResultSet rs = stmt.executeQuery ("SELECT * FROM custordr");

         // fetch and display each individual record
         while (rs.next()) {
            System.out.println("\t   " + rs.getString(3) + "   " + rs.getString(4));
         }
         rs.close();
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
   }


   //
   // Display_OrderItems()
   //
   // This function displays the contents of OrderItems table.
   //
   private static void Display_OrderItems ()
   {
      System.out.println("\n\tOrderItems Table...");

      try
      {
         // execute a query statement
         ResultSet rs = stmt.executeQuery ("SELECT * FROM ordritem");

         // fetch and display each individual record
         while (rs.next()) {
            System.out.println("\t   " + rs.getString(3) + "   " + rs.getString(4));
         }
         rs.close();
      }
      catch (SQLException e)
      {
         Handle_Exception(e);
      }
   }