01: import java.sql.Connection;
02: import java.sql.ResultSet;
03: import java.sql.PreparedStatement;
04: import java.sql.SQLException;
05: 
06: /**
07:    A bank consisting of multiple bank accounts.
08: */
09: public class Bank
10: {
11:    /**
12:       Finds a customer with a given number and PIN.
13:       @param customerNumber the customer number
14:       @param pin the personal identification number
15:       @return the matching customer, or null if none found
16:    */
17:    public Customer findCustomer(int customerNumber, int pin)
18:          throws SQLException
19:    {  
20:       Connection conn = SimpleDataSource.getConnection();
21:       try
22:       {
23:          Customer c = null;
24:          PreparedStatement stat = conn.prepareStatement(
25:                "SELECT * FROM BankCustomer WHERE Customer_Number = ?");
26:          stat.setInt(1, customerNumber);
27:          
28:          ResultSet result = stat.executeQuery();
29:          if (result.next() && pin == result.getInt("PIN")) 
30:             c = new Customer(customerNumber,
31:                   result.getInt("Checking_Account_Number"),
32:                   result.getInt("Savings_Account_Number"));
33:          return c;
34:       }
35:       finally
36:       {
37:          conn.close();
38:       }
39:    }      
40: }
41: 
42: