Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- java.sql.SQLException: Database 'AddressBook' not found.
- at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
- at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
- at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
- at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
- at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
- at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
- at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
- at java.sql.DriverManager.getConnection(DriverManager.java:579)
- at java.sql.DriverManager.getConnection(DriverManager.java:221)
- at PersonQueries.<init>(PersonQueries.java:25)
- at AddressBookDisplay.<init>(AddressBookDisplay.java:52)
- at AddressBookDisplay.main(AddressBookDisplay.java:348)
- Caused by: java.sql.SQLException: Database 'AddressBook' not found.
- at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
- at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
- ... 17 more
- public class Person
- {
- private int addressID;
- private String firstName;
- private String lastName;
- private String email;
- private String phoneNumber;
- public Person()
- {
- }
- public Person(int id, String first, String last, String emailAddress, String phone)
- {
- setAddressID(id);
- setFirstName(first);
- setLastName(last);
- setEmail(emailAddress);
- setPhoneNumber(phone);
- }
- public void setAddressID(int id)
- {
- addressID=id;
- }
- public int getAdressID()
- {
- return addressID;
- }
- public void setFirstName(String first)
- {
- firstName = first;
- }
- public String getFirstName()
- {
- return firstName;
- }
- public void setLastName(String last)
- {
- lastName = last;
- }
- public String getLastName()
- {
- return lastName;
- }
- public void setEmail(String emailAddress)
- {
- email = emailAddress;
- }
- public String getEmail()
- {
- return email;
- }
- public void setPhoneNumber(String phone)
- {
- phoneNumber = phone;
- }
- public String getPhoneNumber()
- {
- return phoneNumber;
- }
- }
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.List;
- import java.util.ArrayList;
- public class PersonQueries
- {
- private static final String URL = "jdbc:derby:AddressBook";
- private static final String USERNAME = "deitel";
- private static final String PASSWORD ="deitel";
- private Connection connection = null; //manages connection
- private PreparedStatement selectAllPeople = null;
- private PreparedStatement selectPeopleByLastName = null;
- private PreparedStatement insertNewPerson = null;
- //constructor
- public PersonQueries()
- {
- try
- {
- connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- //create query that selects all entries in the AddressBook
- selectAllPeople = connection.prepareStatement("SELECT *FROM Addresses");
- //create query that selects entries with a specific last name
- selectPeopleByLastName = connection.prepareStatement("SELECT *FROM Addresses WHERE LastName =?");
- //create insert that adds a new entry into the database
- insertNewPerson = connection.prepareStatement("INSERT INTO Addresses" +
- "(FirstName, LastName, Email, PhoneNumber)" +
- "VALUES( ?,?,?,?)");
- } //end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- System.exit(1);
- }//end catch
- } //end PersonQueries Constructor
- //select all of the addresses in the database
- public List<Person> getAllPeople()
- {
- List<Person> results = null;
- ResultSet resultSet = null;
- try
- {
- //executeQuery returns ResultSet containing matching entries
- resultSet = selectAllPeople.executeQuery();
- results = new ArrayList <Person>();
- while (resultSet.next())
- {
- results.add(new Person(
- resultSet.getInt("addressID"),
- resultSet.getString("FirstName"),
- resultSet.getString("LastName"),
- resultSet.getString("Email"),
- resultSet.getString("PhoneNumber")));
- } //end while
- }//end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- }//end catch
- finally
- {
- try
- {
- resultSet.close();
- }//end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- close();
- }//end catch
- }//end finally
- return results;
- } //end method getAllPeople
- //select person by last name
- public List<Person> getPeopleByLastName(String name)
- {
- List<Person> results = null;
- ResultSet resultSet = null;
- try{
- selectPeopleByLastName.setString(1, name); //specify the last name
- //executeQuery returns ResultSet containing matching entries
- resultSet = selectPeopleByLastName.executeQuery();
- results = new ArrayList <Person>();
- while(resultSet.next())
- {
- results.add(new Person(resultSet.getInt("AddressID"),
- resultSet.getString("FirstName"),
- resultSet.getString("LastName"),
- resultSet.getString("Email"),
- resultSet.getString("PhoneNumber")));
- }//end while
- }//end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- } //end catch
- finally
- {
- try
- {
- resultSet.close();
- }//end try
- catch (SQLException sqlException)
- {
- sqlException.printStackTrace();
- close();
- }//end catch
- }//end finally
- return results;
- }//end method getPeopleByName
- //add an entry
- public int addPerson(String fname, String lname, String email, String num)
- {
- int result =0;
- //set parameters then execute insertNewPerson
- try
- {
- insertNewPerson.setString(1,fname);
- insertNewPerson.setString(2, lname);
- insertNewPerson.setString(3, email);
- insertNewPerson.setString(4, num);
- //insert the new entry; return # of rows updated
- result = insertNewPerson.executeUpdate();
- }//end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- close();
- }//end catch
- return result;
- }//end method addPerson
- //close the database connection
- public void close()
- {
- try
- {
- connection.close();
- }//end try
- catch(SQLException sqlException)
- {
- sqlException.printStackTrace();
- } //end catch
- }//end method close
- }//end class PersonQueries
- **AddressBookDisplay**
- /**
- * @author DORJI
- *
- */
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import java.util.List;
- import javax.swing.*;
- public class AddressBookDisplay extends JFrame
- {
- private Person currentEntry;
- private PersonQueries personQueries;
- private List <Person> results;
- private int numberOfEntries = 0;
- private int currentEntryIndex;
- private JButton browseButton;
- private JLabel emailLabel;
- private JTextField emailTextField;
- private JLabel firstNameLabel;
- private JTextField firstNameTextField;
- private JLabel idLabel;
- private JTextField idTextField;
- private JTextField indexTextField;
- private JLabel lastNameLabel;
- private JTextField lastNameTextField;
- private JTextField maxTextField;
- private JButton nextButton;
- private JLabel ofLabel;
- private JLabel phoneLabel;
- private JTextField phoneTextField;
- private JButton previousButton;
- private JButton queryButton;
- private JLabel queryLabel;
- private JPanel queryPanel;
- private JPanel navigatePanel;
- private JPanel displayPanel;
- private JTextField queryTextField;
- private JButton insertButton;
- //no-argument constructor
- public AddressBookDisplay()
- {
- super("Address Book");
- //establish database connection and set up PreparedStatement
- personQueries = new PersonQueries();
- //Create GUI
- navigatePanel = new JPanel();
- previousButton = new JButton();
- indexTextField = new JTextField(2);
- ofLabel = new JLabel();
- maxTextField = new JTextField(2);
- nextButton = new JButton();
- displayPanel = new JPanel();
- idLabel = new JLabel();
- idTextField = new JTextField(10);
- firstNameLabel = new JLabel();
- firstNameTextField = new JTextField(10);
- lastNameLabel = new JLabel();
- lastNameTextField = new JTextField(10);
- emailLabel = new JLabel();
- emailTextField = new JTextField(10);
- phoneLabel = new JLabel();
- phoneTextField = new JTextField(10);
- queryPanel = new JPanel();
- queryLabel = new JLabel();
- queryTextField = new JTextField(10);
- queryButton = new JButton();
- browseButton = new JButton();
- insertButton = new JButton();
- setLayout(new FlowLayout( FlowLayout.CENTER, 10, 10));
- setSize(400,300);
- setResizable(false);
- navigatePanel.setLayout(new BoxLayout(navigatePanel, BoxLayout.X_AXIS));
- previousButton.setText("Previous");
- previousButton.setEnabled(false);
- previousButton.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- previousButtonActionPerformed(evt);
- } //end method actionPerformed
- } // end of anonymous inner class
- ); //end call to addActionListener
- navigatePanel.add(previousButton);
- navigatePanel.add(Box.createHorizontalStrut(10));
- indexTextField.setHorizontalAlignment(
- JTextField.CENTER);
- indexTextField.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- indexTextFieldActionPerformed(evt);
- } //end method actionPerformed
- }// end anonymous inner class
- ); //end calal to addActionListener
- navigatePanel.add(indexTextField);
- navigatePanel.add(Box.createHorizontalStrut(10));
- ofLabel.setText("of");
- navigatePanel.add(ofLabel);
- navigatePanel.add(Box.createHorizontalStrut(10));
- maxTextField.setHorizontalAlignment(
- JTextField.CENTER);
- maxTextField.setEditable(false);
- navigatePanel.add(maxTextField);
- navigatePanel.add(Box.createHorizontalStrut(10));
- nextButton.setText("next");
- nextButton.setEnabled(false);
- nextButton.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- nextButtonActionPerformed(evt);
- }
- }
- ); //end call to adddActionListener
- navigatePanel.add(nextButton);
- add(navigatePanel);
- displayPanel.setLayout(new GridLayout(5,2,4,4));
- idLabel.setText("Address ID:");
- displayPanel.add(idLabel);
- idTextField.setEditable(false);
- displayPanel.add(idTextField);
- firstNameLabel.setText("First Name");
- displayPanel.add(firstNameLabel);
- displayPanel.add(firstNameTextField);
- lastNameLabel.setText("Last Name");
- displayPanel.add(lastNameLabel);
- displayPanel.add(lastNameTextField);
- emailLabel.setText("Email");
- displayPanel.add(emailLabel);
- displayPanel.add(emailTextField);
- phoneLabel.setText("Phone Number");
- displayPanel.add(phoneLabel);
- displayPanel.add(phoneTextField);
- add(displayPanel);
- queryPanel.setLayout(
- new BoxLayout(queryPanel, BoxLayout.X_AXIS));
- queryPanel.setBorder(BorderFactory.createTitledBorder(
- "Find an entry by last name"));
- queryLabel.setText("Last Name:");
- queryPanel.add(Box.createHorizontalStrut(5));
- queryPanel.add(queryLabel);
- queryPanel.add(Box.createHorizontalStrut(10));
- queryPanel.add(queryTextField);
- queryPanel.add(Box.createHorizontalStrut(10));
- queryButton.setText("Find");
- queryButton.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- queryButtonActionPerformed(evt);
- }
- }
- ); //end call to addActionListener
- queryPanel.add(queryButton);
- queryPanel.add(Box.createHorizontalStrut(5));
- add(queryPanel);
- browseButton.setText("Browse All Entries");
- browseButton.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- browseButtonActionPerformed(evt);
- }
- }
- ); //end call to addActionListener
- add(browseButton);
- insertButton.setText("Insert New Entry");
- insertButton.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent evt)
- {
- insertButtonActionPerformed(evt);
- }
- }
- ); //end call to addActionListener
- add(insertButton);
- addWindowListener(
- new WindowAdapter()
- {
- public void windowClosing(WindowEvent evt)
- {
- personQueries.close();
- System.exit(0);
- }
- }
- ); //end call to addWindowListener
- setVisible(true);
- }
- //handles when previous button is clicked
- private void previousButtonActionPerformed(ActionEvent evt)
- {
- currentEntryIndex--;
- if(currentEntryIndex < 0)
- currentEntryIndex = numberOfEntries - 1;
- indexTextField.setText("" +(currentEntryIndex + 1));
- indexTextFieldActionPerformed(evt);
- } //end of method
- //handles when nextButton is clicked
- private void nextButtonActionPerformed(ActionEvent evt)
- {
- currentEntryIndex++;
- if(currentEntryIndex >= numberOfEntries)
- currentEntryIndex = 0;
- indexTextField.setText("" +(currentEntryIndex + 1));
- indexTextFieldActionPerformed(evt);
- } //end of method
- //handles call when queryButton is clicked
- private void queryButtonActionPerformed(ActionEvent evt)
- {
- results =
- personQueries.getPeopleByLastName(queryTextField.getText());
- numberOfEntries = results.size();
- if(numberOfEntries != 0 )
- {
- currentEntryIndex = 0;
- currentEntry = results.get(currentEntryIndex);
- idTextField.setText("" + currentEntry.getAdressID());
- firstNameTextField.setText(currentEntry.getFirstName());
- lastNameTextField.setText(currentEntry.getLastName());
- emailTextField.setText(currentEntry.getEmail());
- phoneTextField.setText(currentEntry.getPhoneNumber());
- maxTextField.setText("" + numberOfEntries);
- indexTextField.setText("" + (currentEntryIndex + 1));
- nextButton.setEnabled(true);
- previousButton.setEnabled(true);
- }
- else
- browseButtonActionPerformed(evt);
- }
- //handles call when a new value is entered indexTextField
- private void indexTextFieldActionPerformed(ActionEvent evt)
- {
- currentEntryIndex =
- (Integer.parseInt(indexTextField.getText()) - 1);
- if(numberOfEntries != 0 && currentEntryIndex < numberOfEntries)
- {
- currentEntry = results.get(currentEntryIndex);
- idTextField.setText("" + currentEntry.getAdressID());
- firstNameTextField.setText(currentEntry.getFirstName());
- lastNameTextField.setText(currentEntry.getLastName());
- emailTextField.setText(currentEntry.getEmail());
- phoneTextField.setText(currentEntry.getPhoneNumber());
- maxTextField.setText("" + numberOfEntries);
- indexTextField.setText("" + (currentEntryIndex + 1));
- }
- }
- //handles call when browseButton is clicked
- private void browseButtonActionPerformed(ActionEvent evt)
- {
- try
- {
- results = personQueries.getAllPeople();
- numberOfEntries = results.size();
- if(numberOfEntries != 0)
- {
- currentEntryIndex = 0;
- currentEntry = results.get(currentEntryIndex);
- idTextField.setText("" + currentEntry.getAdressID());
- firstNameTextField.setText(currentEntry.getFirstName());
- lastNameTextField.setText(currentEntry.getLastName());
- emailTextField.setText(currentEntry.getEmail());
- phoneTextField.setText(currentEntry.getPhoneNumber());
- maxTextField.setText("" + numberOfEntries);
- indexTextField.setText("" + (currentEntryIndex + 1));
- nextButton.setEnabled(true);
- previousButton.setEnabled(true);
- } //end if
- }//end try
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }//end method browseButtonActionPerformed
- //handles call whenb insertButton is clicked
- private void insertButtonActionPerformed(ActionEvent evt)
- {
- int result = personQueries.addPerson(firstNameTextField.getText(), lastNameTextField.getText(),
- emailTextField.getText(), phoneTextField.getText());
- if(result ==1)
- JOptionPane.showMessageDialog(this, "Person Added!",
- "Person Added!", JOptionPane.PLAIN_MESSAGE);
- else
- JOptionPane.showMessageDialog(this, "Person Not Added!",
- "Error", JOptionPane.PLAIN_MESSAGE);
- browseButtonActionPerformed(evt);
- } //end method insertButtonActionPerformed
- //main method
- public static void main(String args[])
- {
- new AddressBookDisplay();
- }
- } //end of class AddressBookDisplay
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement