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

📄 cloudscapedataaccess.java

📁 java2高级教程大学教程的配套光盘源码
💻 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 + -