@Override public void addPersonToDb(Person newPerson) throws AddPersonException { try (Connection cn = DatabaseUtil.getConnection()) { String queryString = "INSERT INTO PHONEBOOK (NAME, PHONENUMBER, ADDRESS) VALUES(?, ?, ?)"; PreparedStatement stmt = cn.prepareStatement(queryString); stmt.setString(1, newPerson.getName()); stmt.setString(2, newPerson.getPhoneNumber()); stmt.setString(3, newPerson.getAddress()); stmt.executeUpdate(); cn.commit(); } catch (SQLException e) { e.printStackTrace(); throw new AddPersonException("sql Exception"); } catch (ClassNotFoundException e1) { e1.printStackTrace(); throw new AddPersonException("sql Exception"); } }
// Override onSetValues() to set the values of the items in the views. @Override public void onSetValues(Person person, PositionInfo positionInfo) { imageViewPerson.setImageResource(person.getResDrawableId()); textViewName.setText(person.getName()); textViewPhone.setText(person.getPhoneNumber()); }
/** Updates name and/or phone number of person found by index. */ private void updateRegister() { if (register.getCount() < 1) { System.err.println("Register does not contain any persons"); return; } System.out.println("Enter index: "); int index = readIndex(); if (index == 0) { return; } Person person = register.getPerson(index - 1); System.out.println(person.toString()); System.out.println( "What do you want to update?\n1. Name \n2. Phone Number\n3. Name and PhoneNumber\n9. Back"); try { index = Integer.parseInt(readLine()); } catch (NumberFormatException e) { // if input is not number, return to // menu System.err.println("Wrong format"); } String name; String phoneNumber; switch (index) { case 1: System.out.println("Enter new name: "); name = readLine(); if (register.findPersonByBoth(name, person.getPhoneNumber()) != null) { System.err.println("Person with this NAME and NUMBER is already registered!"); return; } person.setName(name); break; case 2: System.out.println("Enter new phoneNumber: "); phoneNumber = readLine(); if (register.findPersonByBoth(person.getName(), phoneNumber) != null) { System.err.println("Person with this NAME and NUMBER is already registered!"); return; } try { person.setPhoneNumber(phoneNumber); } catch (RuntimeException e) { System.err.println("Wrong number format"); } break; case 3: System.out.println("Enter new name: "); name = readLine(); System.out.println("Enter new phoneNumber: "); phoneNumber = readLine(); if (register.findPersonByBoth(name, phoneNumber) != null) { System.err.println("Person with this NAME and NUMBER is already registered!"); return; } person.setName(name); try { person.setPhoneNumber(phoneNumber); } catch (RuntimeException e) { System.err.println("Wrong number format"); } break; case 9: return; default: System.err.println("Wrong index, choose only 1,2,3 or 9"); break; } register.updateList(); }