/** * Modifie un adhérent existant en base de données * * @param member L'adhérent à modifier dans la base de données * @param memberContextID L'identifiant du contexte de adhérent existant en base de données * @return True si la modification s'est bien passée, False sinon */ public boolean edit(Member member, int memberContextID) { try { super.connect(); PreparedStatement psEdit = connection.prepareStatement( "UPDATE MEMBER " + "SET first_name = ?, last_name = ?, pseudo = ?, password = ?, is_admin = ?, " + "birth_date = ?, phone_number = ?, email_address = ?, street_address = ?, " + "postal_code = ?, city = ?, context_id = ? " + "WHERE id = ?"); psEdit.setString(1, member.getFirstName()); psEdit.setString(2, member.getLastName()); psEdit.setString(3, member.getPseudo()); psEdit.setString(4, member.getPassword()); psEdit.setBoolean(5, member.isAdmin()); psEdit.setDate(6, new java.sql.Date(member.getBirthDate().getTime())); psEdit.setString(7, member.getPhoneNumber()); psEdit.setString(8, member.getEmail()); psEdit.setString(9, member.getStreetAddress()); psEdit.setString(10, member.getPostalCode()); psEdit.setString(11, member.getCity()); psEdit.setInt(12, memberContextID); psEdit.setInt(13, member.getMemberID()); psEdit.executeUpdate(); psEdit.closeOnCompletion(); super.disconnect(); return true; } catch (SQLException e) { e.printStackTrace(); return false; } }
/** * Ajoute un nouvel adhérent à la base de données, dont l'identifiant est initialisé * automatiquement * * @param member L'adhérent à ajouter dans la base de données * @param memberContextID L'identifiant du contexte de l'adhérent * @return True si l'ajout de l'adhérent a été fait correctement, sinon False */ public boolean add(Member member, int memberContextID) { try { super.connect(); PreparedStatement psInsert = connection.prepareStatement( "INSERT INTO " + "MEMBER(first_name, last_name, pseudo, password, is_admin, birth_date, phone_number, email_address, street_address, postal_code, city, context_id) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new String[] {"ID"}); psInsert.setString(1, member.getFirstName()); psInsert.setString(2, member.getLastName()); psInsert.setString(3, member.getPseudo()); psInsert.setString(4, member.getPassword()); psInsert.setBoolean(5, member.isAdmin()); psInsert.setDate(6, new java.sql.Date(member.getBirthDate().getTime())); psInsert.setString(7, member.getPhoneNumber()); psInsert.setString(8, member.getEmail()); psInsert.setString(9, member.getStreetAddress()); psInsert.setString(10, member.getPostalCode()); psInsert.setString(11, member.getCity()); psInsert.setInt(12, memberContextID); psInsert.executeUpdate(); // Récupération de l'identifiant du contexte d'un adhérent généré // automatiquement par Derby ResultSet idRS = psInsert.getGeneratedKeys(); if (idRS != null && idRS.next()) { member.setMemberID(idRS.getInt(1)); } else { throw new SQLException(); } super.disconnect(); return true; } catch (SQLException e) { e.printStackTrace(); return false; } }