⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cloudscapedataaccess.java

📁 java的一些教程 大家看看,很有用的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
         // update emailAddresses table
         sqlUpdateEmail.setString( 1, person.getEmailAddress() );
         sqlUpdateEmail.setInt( 2, person.getEmailID() );
         result = sqlUpdateEmail.executeUpdate();

         // if update fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback update
            return false;          // update unsuccessful
         }      
         
         connection.commit();   // commit update
         return true;           // update successful
      }  // end try
      
      // detect problems updating database
      catch ( SQLException sqlException ) {
      
         // rollback transaction
         try {
            connection.rollback(); // rollback update
            return false;          // update unsuccessful
         }
         
         // handle exception rolling back transaction
         catch ( SQLException exception ) {
            throw new DataAccessException( exception );
         }
      }
   }  // end method savePerson

   // Insert new entry. Method returns boolean indicating 
   // success or failure.
   public boolean newPerson( AddressBookEntry person )
      throws DataAccessException
   {
      // insert person in database
      try {
         int result;

         // insert first and last name in names table
         sqlInsertName.setString( 1, person.getFirstName() );
         sqlInsertName.setString( 2, person.getLastName() );
         result = sqlInsertName.executeUpdate();

         // if insert fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback insert
            return false;          // insert unsuccessful
         }      
         
         // determine new personID
         ResultSet resultPersonID = sqlPersonID.executeQuery();
         
         if ( resultPersonID.next() ) {
            int personID =  resultPersonID.getInt( 1 );
         
            // insert address in addresses table
            sqlInsertAddress.setInt( 1, personID );
            sqlInsertAddress.setString( 2, 
               person.getAddress1() );
            sqlInsertAddress.setString( 3, 
               person.getAddress2() );
            sqlInsertAddress.setString( 4, 
               person.getCity() );
            sqlInsertAddress.setString( 5, 
               person.getState() );
            sqlInsertAddress.setString( 6, 
               person.getZipcode() );
            result = sqlInsertAddress.executeUpdate();
         
            // if insert fails, rollback and discontinue 
            if ( result == 0 ) {
               connection.rollback(); // rollback insert
               return false;          // insert unsuccessful
            }      

            // insert phone number in phoneNumbers table
            sqlInsertPhone.setInt( 1, personID );
            sqlInsertPhone.setString( 2, 
               person.getPhoneNumber() );
            result = sqlInsertPhone.executeUpdate();
         
            // if insert fails, rollback and discontinue 
            if ( result == 0 ) {
               connection.rollback(); // rollback insert
               return false;          // insert unsuccessful
            }      

            // insert email address in emailAddresses table
            sqlInsertEmail.setInt( 1, personID );
            sqlInsertEmail.setString( 2, 
               person.getEmailAddress() );
            result = sqlInsertEmail.executeUpdate();

            // if insert fails, rollback and discontinue 
            if ( result == 0 ) {
               connection.rollback(); // rollback insert
               return false;          // insert unsuccessful
            }      
       
            connection.commit();   // commit insert
            return true;           // insert successful
         }
         
         else 
            return false;
      }  // end try
      
      // detect problems updating database
      catch ( SQLException sqlException ) {
         // rollback transaction
         try {
            connection.rollback(); // rollback update
            return false;          // update unsuccessful
         }
         
         // handle exception rolling back transaction
         catch ( SQLException exception ) {
            throw new DataAccessException( exception );
         }
      }
   }  // end method newPerson
      
   // Delete an entry. Method returns boolean indicating 
   // success or failure.
   public boolean deletePerson( AddressBookEntry person )
      throws DataAccessException
   {
      // delete a person from database
      try {
         int result;
                  
         // delete address from addresses table
         sqlDeleteAddress.setInt( 1, person.getPersonID() );
         result = sqlDeleteAddress.executeUpdate();

         // if delete fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback delete
            return false;          // delete unsuccessful
         }      

         // delete phone number from phoneNumbers table
         sqlDeletePhone.setInt( 1, person.getPersonID() );
         result = sqlDeletePhone.executeUpdate();
         
         // if delete fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback delete
            return false;          // delete unsuccessful
         }      

         // delete email address from emailAddresses table
         sqlDeleteEmail.setInt( 1, person.getPersonID() );
         result = sqlDeleteEmail.executeUpdate();

         // if delete fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback delete
            return false;          // delete unsuccessful
         }      

         // delete name from names table
         sqlDeleteName.setInt( 1, person.getPersonID() );
         result = sqlDeleteName.executeUpdate();

         // if delete fails, rollback and discontinue 
         if ( result == 0 ) {
            connection.rollback(); // rollback delete
            return false;          // delete unsuccessful
         }      

         connection.commit();   // commit delete
         return true;           // delete successful
      }  // end try
      
      // detect problems updating database
      catch ( SQLException sqlException ) {
         // rollback transaction
         try {
            connection.rollback(); // rollback update
            return false;          // update unsuccessful
         }
         
         // handle exception rolling back transaction
         catch ( SQLException exception ) {
            throw new DataAccessException( exception );
         }
      }
   }  // end method deletePerson

   // method to close statements and database connection
   public void close()
   {
      // close database connection
      try {
         sqlFind.close();
         sqlPersonID.close();
         sqlInsertName.close();
         sqlInsertAddress.close();
         sqlInsertPhone.close();
         sqlInsertEmail.close();
         sqlUpdateName.close();
         sqlUpdateAddress.close();
         sqlUpdatePhone.close();
         sqlUpdateEmail.close();
         sqlDeleteName.close();
         sqlDeleteAddress.close();
         sqlDeletePhone.close();
         sqlDeleteEmail.close();         
         connection.close();
      }  // end try
      
      // detect problems closing statements and connection
      catch ( SQLException sqlException ) {
         sqlException.printStackTrace();  
      }   
   }  // end method close

   // Method to clean up database connection. Provided in case
   // CloudscapeDataAccess object is garbage collected.
   protected void finalize()
   {
      close(); 
   }
}  // end class CloudscapeDataAccess


/**************************************************************************
 * (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall.     *
 * All Rights Reserved.                                                   *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 *************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -