Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.64 KB | None | 0 0
  1. java.sql.SQLException: Database 'AddressBook' not found.
  2. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
  3. at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
  4. at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
  5. at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
  6. at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
  7. at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
  8. at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
  9. at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
  10. at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
  11. at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
  12. at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
  13. at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
  14. at java.sql.DriverManager.getConnection(DriverManager.java:579)
  15. at java.sql.DriverManager.getConnection(DriverManager.java:221)
  16. at PersonQueries.<init>(PersonQueries.java:25)
  17. at AddressBookDisplay.<init>(AddressBookDisplay.java:52)
  18. at AddressBookDisplay.main(AddressBookDisplay.java:348)
  19. Caused by: java.sql.SQLException: Database 'AddressBook' not found.
  20. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
  21. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
  22. ... 17 more
  23.  
  24. public class Person
  25. {
  26. private int addressID;
  27. private String firstName;
  28. private String lastName;
  29. private String email;
  30. private String phoneNumber;
  31.  
  32. public Person()
  33. {
  34.  
  35. }
  36.  
  37. public Person(int id, String first, String last, String emailAddress, String phone)
  38. {
  39. setAddressID(id);
  40. setFirstName(first);
  41. setLastName(last);
  42. setEmail(emailAddress);
  43. setPhoneNumber(phone);
  44. }
  45.  
  46. public void setAddressID(int id)
  47. {
  48. addressID=id;
  49. }
  50.  
  51. public int getAdressID()
  52. {
  53. return addressID;
  54. }
  55.  
  56. public void setFirstName(String first)
  57. {
  58. firstName = first;
  59. }
  60.  
  61. public String getFirstName()
  62. {
  63. return firstName;
  64. }
  65.  
  66. public void setLastName(String last)
  67. {
  68. lastName = last;
  69. }
  70.  
  71. public String getLastName()
  72. {
  73. return lastName;
  74. }
  75. public void setEmail(String emailAddress)
  76. {
  77. email = emailAddress;
  78. }
  79.  
  80. public String getEmail()
  81. {
  82. return email;
  83. }
  84.  
  85. public void setPhoneNumber(String phone)
  86. {
  87. phoneNumber = phone;
  88. }
  89.  
  90. public String getPhoneNumber()
  91. {
  92. return phoneNumber;
  93. }
  94. }
  95.  
  96. import java.sql.Connection;
  97. import java.sql.DriverManager;
  98. import java.sql.PreparedStatement;
  99. import java.sql.ResultSet;
  100. import java.sql.SQLException;
  101. import java.util.List;
  102. import java.util.ArrayList;
  103.  
  104. public class PersonQueries
  105. {
  106. private static final String URL = "jdbc:derby:AddressBook";
  107. private static final String USERNAME = "deitel";
  108. private static final String PASSWORD ="deitel";
  109.  
  110. private Connection connection = null; //manages connection
  111. private PreparedStatement selectAllPeople = null;
  112. private PreparedStatement selectPeopleByLastName = null;
  113. private PreparedStatement insertNewPerson = null;
  114.  
  115. //constructor
  116. public PersonQueries()
  117. {
  118. try
  119. {
  120. connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
  121.  
  122. //create query that selects all entries in the AddressBook
  123. selectAllPeople = connection.prepareStatement("SELECT *FROM Addresses");
  124.  
  125. //create query that selects entries with a specific last name
  126. selectPeopleByLastName = connection.prepareStatement("SELECT *FROM Addresses WHERE LastName =?");
  127.  
  128. //create insert that adds a new entry into the database
  129. insertNewPerson = connection.prepareStatement("INSERT INTO Addresses" +
  130. "(FirstName, LastName, Email, PhoneNumber)" +
  131. "VALUES( ?,?,?,?)");
  132. } //end try
  133. catch(SQLException sqlException)
  134. {
  135. sqlException.printStackTrace();
  136. System.exit(1);
  137. }//end catch
  138. } //end PersonQueries Constructor
  139.  
  140. //select all of the addresses in the database
  141. public List<Person> getAllPeople()
  142. {
  143. List<Person> results = null;
  144. ResultSet resultSet = null;
  145.  
  146. try
  147. {
  148. //executeQuery returns ResultSet containing matching entries
  149. resultSet = selectAllPeople.executeQuery();
  150. results = new ArrayList <Person>();
  151.  
  152. while (resultSet.next())
  153. {
  154. results.add(new Person(
  155. resultSet.getInt("addressID"),
  156. resultSet.getString("FirstName"),
  157. resultSet.getString("LastName"),
  158. resultSet.getString("Email"),
  159. resultSet.getString("PhoneNumber")));
  160. } //end while
  161. }//end try
  162. catch(SQLException sqlException)
  163. {
  164. sqlException.printStackTrace();
  165. }//end catch
  166. finally
  167. {
  168. try
  169. {
  170. resultSet.close();
  171. }//end try
  172. catch(SQLException sqlException)
  173. {
  174. sqlException.printStackTrace();
  175. close();
  176. }//end catch
  177. }//end finally
  178. return results;
  179. } //end method getAllPeople
  180.  
  181. //select person by last name
  182. public List<Person> getPeopleByLastName(String name)
  183. {
  184. List<Person> results = null;
  185. ResultSet resultSet = null;
  186.  
  187. try{
  188. selectPeopleByLastName.setString(1, name); //specify the last name
  189.  
  190. //executeQuery returns ResultSet containing matching entries
  191. resultSet = selectPeopleByLastName.executeQuery();
  192.  
  193. results = new ArrayList <Person>();
  194.  
  195. while(resultSet.next())
  196. {
  197. results.add(new Person(resultSet.getInt("AddressID"),
  198. resultSet.getString("FirstName"),
  199. resultSet.getString("LastName"),
  200. resultSet.getString("Email"),
  201. resultSet.getString("PhoneNumber")));
  202. }//end while
  203. }//end try
  204. catch(SQLException sqlException)
  205. {
  206. sqlException.printStackTrace();
  207. } //end catch
  208. finally
  209. {
  210. try
  211. {
  212. resultSet.close();
  213. }//end try
  214. catch (SQLException sqlException)
  215. {
  216. sqlException.printStackTrace();
  217. close();
  218. }//end catch
  219. }//end finally
  220. return results;
  221. }//end method getPeopleByName
  222.  
  223. //add an entry
  224. public int addPerson(String fname, String lname, String email, String num)
  225. {
  226. int result =0;
  227.  
  228. //set parameters then execute insertNewPerson
  229. try
  230. {
  231. insertNewPerson.setString(1,fname);
  232. insertNewPerson.setString(2, lname);
  233. insertNewPerson.setString(3, email);
  234. insertNewPerson.setString(4, num);
  235.  
  236. //insert the new entry; return # of rows updated
  237. result = insertNewPerson.executeUpdate();
  238. }//end try
  239. catch(SQLException sqlException)
  240. {
  241. sqlException.printStackTrace();
  242. close();
  243. }//end catch
  244.  
  245. return result;
  246. }//end method addPerson
  247.  
  248. //close the database connection
  249. public void close()
  250. {
  251. try
  252. {
  253. connection.close();
  254. }//end try
  255. catch(SQLException sqlException)
  256. {
  257. sqlException.printStackTrace();
  258. } //end catch
  259. }//end method close
  260. }//end class PersonQueries
  261.  
  262. **AddressBookDisplay**
  263.  
  264. /**
  265. * @author DORJI
  266. *
  267. */
  268. import java.awt.*;
  269. import java.awt.event.ActionEvent;
  270. import java.awt.event.ActionListener;
  271. import java.awt.event.WindowAdapter;
  272. import java.awt.event.WindowEvent;
  273. import java.util.List;
  274.  
  275. import javax.swing.*;
  276.  
  277. public class AddressBookDisplay extends JFrame
  278. {
  279. private Person currentEntry;
  280. private PersonQueries personQueries;
  281. private List <Person> results;
  282. private int numberOfEntries = 0;
  283. private int currentEntryIndex;
  284.  
  285. private JButton browseButton;
  286. private JLabel emailLabel;
  287. private JTextField emailTextField;
  288. private JLabel firstNameLabel;
  289. private JTextField firstNameTextField;
  290. private JLabel idLabel;
  291. private JTextField idTextField;
  292. private JTextField indexTextField;
  293. private JLabel lastNameLabel;
  294. private JTextField lastNameTextField;
  295. private JTextField maxTextField;
  296. private JButton nextButton;
  297. private JLabel ofLabel;
  298. private JLabel phoneLabel;
  299. private JTextField phoneTextField;
  300. private JButton previousButton;
  301. private JButton queryButton;
  302. private JLabel queryLabel;
  303. private JPanel queryPanel;
  304. private JPanel navigatePanel;
  305. private JPanel displayPanel;
  306. private JTextField queryTextField;
  307. private JButton insertButton;
  308.  
  309. //no-argument constructor
  310. public AddressBookDisplay()
  311. {
  312. super("Address Book");
  313.  
  314. //establish database connection and set up PreparedStatement
  315. personQueries = new PersonQueries();
  316.  
  317. //Create GUI
  318. navigatePanel = new JPanel();
  319. previousButton = new JButton();
  320. indexTextField = new JTextField(2);
  321. ofLabel = new JLabel();
  322. maxTextField = new JTextField(2);
  323. nextButton = new JButton();
  324. displayPanel = new JPanel();
  325. idLabel = new JLabel();
  326. idTextField = new JTextField(10);
  327. firstNameLabel = new JLabel();
  328. firstNameTextField = new JTextField(10);
  329. lastNameLabel = new JLabel();
  330. lastNameTextField = new JTextField(10);
  331. emailLabel = new JLabel();
  332. emailTextField = new JTextField(10);
  333. phoneLabel = new JLabel();
  334. phoneTextField = new JTextField(10);
  335. queryPanel = new JPanel();
  336. queryLabel = new JLabel();
  337. queryTextField = new JTextField(10);
  338. queryButton = new JButton();
  339. browseButton = new JButton();
  340. insertButton = new JButton();
  341.  
  342. setLayout(new FlowLayout( FlowLayout.CENTER, 10, 10));
  343. setSize(400,300);
  344. setResizable(false);
  345.  
  346. navigatePanel.setLayout(new BoxLayout(navigatePanel, BoxLayout.X_AXIS));
  347.  
  348. previousButton.setText("Previous");
  349. previousButton.setEnabled(false);
  350. previousButton.addActionListener(
  351. new ActionListener()
  352. {
  353. public void actionPerformed(ActionEvent evt)
  354. {
  355. previousButtonActionPerformed(evt);
  356. } //end method actionPerformed
  357. } // end of anonymous inner class
  358. ); //end call to addActionListener
  359.  
  360. navigatePanel.add(previousButton);
  361. navigatePanel.add(Box.createHorizontalStrut(10));
  362.  
  363. indexTextField.setHorizontalAlignment(
  364. JTextField.CENTER);
  365. indexTextField.addActionListener(
  366. new ActionListener()
  367. {
  368. public void actionPerformed(ActionEvent evt)
  369. {
  370. indexTextFieldActionPerformed(evt);
  371. } //end method actionPerformed
  372. }// end anonymous inner class
  373. ); //end calal to addActionListener
  374.  
  375. navigatePanel.add(indexTextField);
  376. navigatePanel.add(Box.createHorizontalStrut(10));
  377.  
  378. ofLabel.setText("of");
  379. navigatePanel.add(ofLabel);
  380. navigatePanel.add(Box.createHorizontalStrut(10));
  381.  
  382. maxTextField.setHorizontalAlignment(
  383. JTextField.CENTER);
  384. maxTextField.setEditable(false);
  385. navigatePanel.add(maxTextField);
  386. navigatePanel.add(Box.createHorizontalStrut(10));
  387.  
  388. nextButton.setText("next");
  389. nextButton.setEnabled(false);
  390. nextButton.addActionListener(
  391. new ActionListener()
  392. {
  393. public void actionPerformed(ActionEvent evt)
  394. {
  395. nextButtonActionPerformed(evt);
  396. }
  397. }
  398. ); //end call to adddActionListener
  399.  
  400. navigatePanel.add(nextButton);
  401. add(navigatePanel);
  402.  
  403. displayPanel.setLayout(new GridLayout(5,2,4,4));
  404.  
  405. idLabel.setText("Address ID:");
  406. displayPanel.add(idLabel);
  407.  
  408. idTextField.setEditable(false);
  409. displayPanel.add(idTextField);
  410.  
  411. firstNameLabel.setText("First Name");
  412. displayPanel.add(firstNameLabel);
  413. displayPanel.add(firstNameTextField);
  414.  
  415. lastNameLabel.setText("Last Name");
  416. displayPanel.add(lastNameLabel);
  417. displayPanel.add(lastNameTextField);
  418.  
  419. emailLabel.setText("Email");
  420. displayPanel.add(emailLabel);
  421. displayPanel.add(emailTextField);
  422.  
  423. phoneLabel.setText("Phone Number");
  424. displayPanel.add(phoneLabel);
  425. displayPanel.add(phoneTextField);
  426. add(displayPanel);
  427.  
  428. queryPanel.setLayout(
  429. new BoxLayout(queryPanel, BoxLayout.X_AXIS));
  430.  
  431. queryPanel.setBorder(BorderFactory.createTitledBorder(
  432. "Find an entry by last name"));
  433. queryLabel.setText("Last Name:");
  434. queryPanel.add(Box.createHorizontalStrut(5));
  435. queryPanel.add(queryLabel);
  436. queryPanel.add(Box.createHorizontalStrut(10));
  437. queryPanel.add(queryTextField);
  438. queryPanel.add(Box.createHorizontalStrut(10));
  439.  
  440. queryButton.setText("Find");
  441. queryButton.addActionListener(
  442. new ActionListener()
  443. {
  444. public void actionPerformed(ActionEvent evt)
  445. {
  446. queryButtonActionPerformed(evt);
  447. }
  448. }
  449. ); //end call to addActionListener
  450.  
  451. queryPanel.add(queryButton);
  452. queryPanel.add(Box.createHorizontalStrut(5));
  453. add(queryPanel);
  454.  
  455. browseButton.setText("Browse All Entries");
  456. browseButton.addActionListener(
  457. new ActionListener()
  458. {
  459. public void actionPerformed(ActionEvent evt)
  460. {
  461. browseButtonActionPerformed(evt);
  462. }
  463. }
  464. ); //end call to addActionListener
  465.  
  466. add(browseButton);
  467.  
  468. insertButton.setText("Insert New Entry");
  469. insertButton.addActionListener(
  470. new ActionListener()
  471. {
  472. public void actionPerformed(ActionEvent evt)
  473. {
  474. insertButtonActionPerformed(evt);
  475. }
  476. }
  477. ); //end call to addActionListener
  478.  
  479. add(insertButton);
  480. addWindowListener(
  481. new WindowAdapter()
  482. {
  483. public void windowClosing(WindowEvent evt)
  484. {
  485. personQueries.close();
  486. System.exit(0);
  487. }
  488. }
  489. ); //end call to addWindowListener
  490.  
  491. setVisible(true);
  492. }
  493.  
  494. //handles when previous button is clicked
  495. private void previousButtonActionPerformed(ActionEvent evt)
  496. {
  497. currentEntryIndex--;
  498.  
  499. if(currentEntryIndex < 0)
  500. currentEntryIndex = numberOfEntries - 1;
  501.  
  502. indexTextField.setText("" +(currentEntryIndex + 1));
  503. indexTextFieldActionPerformed(evt);
  504. } //end of method
  505.  
  506. //handles when nextButton is clicked
  507. private void nextButtonActionPerformed(ActionEvent evt)
  508. {
  509. currentEntryIndex++;
  510.  
  511. if(currentEntryIndex >= numberOfEntries)
  512. currentEntryIndex = 0;
  513.  
  514. indexTextField.setText("" +(currentEntryIndex + 1));
  515. indexTextFieldActionPerformed(evt);
  516. } //end of method
  517.  
  518. //handles call when queryButton is clicked
  519. private void queryButtonActionPerformed(ActionEvent evt)
  520. {
  521. results =
  522. personQueries.getPeopleByLastName(queryTextField.getText());
  523. numberOfEntries = results.size();
  524.  
  525. if(numberOfEntries != 0 )
  526. {
  527. currentEntryIndex = 0;
  528. currentEntry = results.get(currentEntryIndex);
  529. idTextField.setText("" + currentEntry.getAdressID());
  530. firstNameTextField.setText(currentEntry.getFirstName());
  531. lastNameTextField.setText(currentEntry.getLastName());
  532. emailTextField.setText(currentEntry.getEmail());
  533. phoneTextField.setText(currentEntry.getPhoneNumber());
  534. maxTextField.setText("" + numberOfEntries);
  535. indexTextField.setText("" + (currentEntryIndex + 1));
  536. nextButton.setEnabled(true);
  537. previousButton.setEnabled(true);
  538. }
  539. else
  540. browseButtonActionPerformed(evt);
  541. }
  542.  
  543. //handles call when a new value is entered indexTextField
  544. private void indexTextFieldActionPerformed(ActionEvent evt)
  545. {
  546. currentEntryIndex =
  547. (Integer.parseInt(indexTextField.getText()) - 1);
  548.  
  549. if(numberOfEntries != 0 && currentEntryIndex < numberOfEntries)
  550. {
  551. currentEntry = results.get(currentEntryIndex);
  552. idTextField.setText("" + currentEntry.getAdressID());
  553. firstNameTextField.setText(currentEntry.getFirstName());
  554. lastNameTextField.setText(currentEntry.getLastName());
  555. emailTextField.setText(currentEntry.getEmail());
  556. phoneTextField.setText(currentEntry.getPhoneNumber());
  557. maxTextField.setText("" + numberOfEntries);
  558. indexTextField.setText("" + (currentEntryIndex + 1));
  559. }
  560. }
  561.  
  562. //handles call when browseButton is clicked
  563. private void browseButtonActionPerformed(ActionEvent evt)
  564. {
  565. try
  566. {
  567. results = personQueries.getAllPeople();
  568. numberOfEntries = results.size();
  569.  
  570. if(numberOfEntries != 0)
  571. {
  572. currentEntryIndex = 0;
  573. currentEntry = results.get(currentEntryIndex);
  574. idTextField.setText("" + currentEntry.getAdressID());
  575. firstNameTextField.setText(currentEntry.getFirstName());
  576. lastNameTextField.setText(currentEntry.getLastName());
  577. emailTextField.setText(currentEntry.getEmail());
  578. phoneTextField.setText(currentEntry.getPhoneNumber());
  579. maxTextField.setText("" + numberOfEntries);
  580. indexTextField.setText("" + (currentEntryIndex + 1));
  581. nextButton.setEnabled(true);
  582. previousButton.setEnabled(true);
  583. } //end if
  584. }//end try
  585. catch(Exception e)
  586. {
  587. e.printStackTrace();
  588. }
  589. }//end method browseButtonActionPerformed
  590.  
  591.  
  592. //handles call whenb insertButton is clicked
  593. private void insertButtonActionPerformed(ActionEvent evt)
  594. {
  595. int result = personQueries.addPerson(firstNameTextField.getText(), lastNameTextField.getText(),
  596. emailTextField.getText(), phoneTextField.getText());
  597.  
  598. if(result ==1)
  599. JOptionPane.showMessageDialog(this, "Person Added!",
  600. "Person Added!", JOptionPane.PLAIN_MESSAGE);
  601. else
  602. JOptionPane.showMessageDialog(this, "Person Not Added!",
  603. "Error", JOptionPane.PLAIN_MESSAGE);
  604.  
  605. browseButtonActionPerformed(evt);
  606. } //end method insertButtonActionPerformed
  607.  
  608. //main method
  609. public static void main(String args[])
  610. {
  611. new AddressBookDisplay();
  612. }
  613. } //end of class AddressBookDisplay
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement