/// <summary> /// Rechercher une personne dans la liste en connaissant sa clé /// </summary> /// <param name="unNumPersonne">le numéro (=la clé) de la personne à rechercher</param> /// <returns>la référence à la personne (ou bien lève une erreur)</returns> public static MPersonnes RestituerPersonne(Int32 recherche) { MPersonnes unePersonne = null; MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "SELECT * FROM personnes WHERE num_personne = @recherche"; cmd.Parameters.AddWithValue("@recherche", recherche); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { unePersonne = new MPersonnes(); // affectation des 10 lignes unePersonne.NumPersonne = reader.GetInt32(0); unePersonne.Nom = reader.GetString("nom"); unePersonne.Prenom = reader.GetString("prenom"); unePersonne.Naissance = reader.GetDateTime("date_naissance"); unePersonne.Adresse1 = reader.GetString("adresse1"); unePersonne.Email = reader.GetString("email"); unePersonne.Telephone = reader.GetString("telephone"); unePersonne.CodePostal = reader.GetString("cp"); unePersonne.Ville = reader.GetString("ville"); unePersonne.NumAdherent = reader.GetInt32("num_adherent"); } reader.Close(); if (unePersonne == null) { throw new Exception("Aucune personne pour le numéro " + recherche); } else { return(unePersonne); } }
private void btnSupprimer_Click(object sender, EventArgs e) { try { // si une personne est pointée dans la datagridview if (this.grdPersonnes.CurrentRow != null) { Int32 clePersonne; clePersonne = (Int32)this.grdPersonnes.CurrentRow.Cells[0].Value; personne = MPersonnes.RestituerPersonne(clePersonne); clePersonne = Int32.Parse(this.grdPersonnes.CurrentRow.Cells[0].Value.ToString()); // demande confirmation de la suppression if (MessageBox.Show("Voulez-vous supprimer la personne numéro : " + clePersonne.ToString(), "Suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { MPersonnes.DeletePersonne(clePersonne); MAdherents.DeleteAdherent(personne.NumAdherent); // réaffiche la datagridview affichePersonnes(); } } } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
public void affichePersonnes() { // détermine l'origine des données à afficher : appel de la méthode de la classe MPersonnes qui alimente // et retourne une copie de la collection des personnes sous forme de datatable this.grdPersonnes.DataSource = MPersonnes.ListerPersonnes(txtbRecherche.Text); // rafraîchit l'affichage this.grdPersonnes.Refresh(); }
/// <summary> /// méthode pour mettre à jour la personne dans l'application et également dans la base de données /// </summary> /// <param name="pers"></param> public static void UpdatePersonne(MPersonnes pers) { MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "UPDATE personnes SET nom=@nom, adresse1=@adresse, email=@email, telephone=@telephone, cp=@cp, ville=@ville " + "WHERE num_personne=@numPersonne"; cmd.Parameters.AddWithValue("@nom", pers.Nom); cmd.Parameters.AddWithValue("@adresse", pers.Adresse1); cmd.Parameters.AddWithValue("@email", pers.Email); cmd.Parameters.AddWithValue("@telephone", pers.Telephone); cmd.Parameters.AddWithValue("@cp", pers.CodePostal); cmd.Parameters.AddWithValue("@ville", pers.Ville); cmd.Parameters.AddWithValue("@numPersonne", pers.NumPersonne); cmd.ExecuteNonQuery(); }
/// <summary> /// ouvre la feuille détail en y affichant la personne correspondant à la ligne double-cliquée /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void grdPersonnes_DoubleClick(object sender, EventArgs e) { try { Int32 iPersonne; iPersonne = (Int32)this.grdPersonnes.CurrentRow.Cells[0].Value; personne = MPersonnes.RestituerPersonne(iPersonne); // instancie le form consultation personne frmConsultationPersonne frmConsulter = new frmConsultationPersonne(personne); // affiche le form de consultation d'une personne frmConsulter.ShowDialog(); // rafraîchit la datagridview quand le form est fermé this.affichePersonnes(); } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
private void btnOk_Click(object sender, EventArgs e) { try { MAdherents modifierAdherent = new MAdherents(); modifierAdherent.dateCotisation = DateTime.Parse(base.dateTimeCotisation.Text); modifierAdherent.numAdherent = (MPersonnes.RestituerPersonne(Int32.Parse(base.txtbNumPersonne.Text))).NumAdherent; MAdherents.UpdateCotisation(modifierAdherent); // crée une référence d'objets MPersonnes MPersonnes modifierPersonne = new MPersonnes(); // affecte des variables/propriétés modifierPersonne.NumPersonne = Int32.Parse(base.txtbNumPersonne.Text); modifierPersonne.Nom = base.txtbNom.Text.ToUpper(); modifierPersonne.Prenom = base.txtbPrenom.Text.ToLower(); modifierPersonne.CodePostal = base.txtbCodePostal.Text; modifierPersonne.Ville = base.txtbVille.Text.ToUpper(); modifierPersonne.Adresse1 = base.txtbAdresse.Text; modifierPersonne.Email = base.txtbEmail.Text; modifierPersonne.Telephone = base.txtbTelephone.Text; modifierPersonne.Naissance = DateTime.Parse(base.dateTimeNaissance.Text); // enregistrement de la modification de la personne dans la BDD MPersonnes.UpdatePersonne(modifierPersonne); // ajoute la référence d'objet MPersonnes dans la collection Donnees.tablePersonnes = MPersonnes.ListerPersonnes(""); // incrémentation du compteur de personnes MPersonnes.NPersonnes = 1; this.Close(); // fermeture de la boite de dialogue par validation this.DialogResult = DialogResult.OK; } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
/// <summary> /// méthode pour insérer une personne dans l'application ainsi que dans la base de données /// </summary> /// <param name="ad"></param> public static void InsertPersonne(MPersonnes ad) { // crée la commande sql MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "INSERT INTO personnes(num_personne, num_adherent, nom, prenom, date_naissance, adresse1, email, telephone, cp, ville) " + "VALUES (@NumPersonne, @NumAdherent, @nom, @prenom, @dateNaissance, @adresse1, @email, @telephone, @cp, @ville)"; cmd.Parameters.AddWithValue("@numAdherent", ad.NumAdherent); cmd.Parameters.AddWithValue("@numPersonne", ad.NumPersonne); cmd.Parameters.AddWithValue("@nom", ad.Nom); cmd.Parameters.AddWithValue("@prenom", ad.Prenom); cmd.Parameters.AddWithValue("@dateNaissance", ad.Naissance); cmd.Parameters.AddWithValue("@adresse1", ad.Adresse1); cmd.Parameters.AddWithValue("@email", ad.Email); cmd.Parameters.AddWithValue("@telephone", ad.Telephone); cmd.Parameters.AddWithValue("@cp", ad.CodePostal); cmd.Parameters.AddWithValue("@ville", ad.Ville); // exécute la requête cmd.ExecuteNonQuery(); }
/// <summary> /// modifier les données de la personne /// tout est modifiable sauf le numPersonne (= clé de la collection) /// </summary> /// <param name="unePersonne">la référence au nouvel objet MPersonnes pour cette clé</param> public void Remplacer(MPersonnes unePersonne) { // modifie la référence de la personne stockée dans la collection this.lesPersonnes[unePersonne.NumPersonne] = unePersonne; }
/// <summary> /// ajouter une personne à la collection /// (reçoit la référence à la personne et en déduit la clé (= numPersonne) pour la collection) /// </summary> /// <param name="unePersonne">la référence de la personne à ajouter</param> public void Ajouter(MPersonnes unePersonne) { this.lesPersonnes.Add(unePersonne.NumPersonne, unePersonne); }
public frmConsultationPersonne(MPersonnes personne) { this.laPersonne = personne; InitializeComponent(); }
private void btnOK_Click(object sender, EventArgs e) { try { if (chkParticuliers.Checked == true) { MAdherents nouvelAdherent = new MAdherents(); nouvelAdherent.dateInscription = DateTime.Parse(base.dateTimeInscription.Text); nouvelAdherent.dateCotisation = DateTime.Parse(base.dateTimeCotisation.Text); MAdherents.InsertAdherent(nouvelAdherent); // crée une référence d'objets MAdherents MPersonnes nouvellePersonne = new MPersonnes(leNumero, leNom, lePrenom, uneAdresse1, leTelephone, unEmail, uneDate, leCodePostal, laVille); // affecte des variables/propriétés nouvellePersonne.NumPersonne = Int32.Parse(base.txtbNumPersonne.Text); nouvellePersonne.NumAdherent = (Int32)(MAdherents.LastInsertId()); nouvellePersonne.Nom = base.txtbNom.Text.ToUpper(); nouvellePersonne.Prenom = base.txtbPrenom.Text.ToLower(); nouvellePersonne.CodePostal = base.txtbCodePostal.Text; nouvellePersonne.Ville = base.txtbVille.Text.ToUpper(); nouvellePersonne.Adresse1 = base.txtbAdresse.Text; nouvellePersonne.Telephone = base.txtbTelephone.Text; nouvellePersonne.Email = base.txtbEmail.Text; nouvellePersonne.Naissance = DateTime.Parse(base.dateTimeNaissance.Text); // enregistrement de la nouvelle personne dans la BDD MPersonnes.InsertPersonne(nouvellePersonne); // ajoute la référence d'objet MPersonnes dans la collection Donnees.tablePersonnes = MPersonnes.ListerPersonnes(""); // incrémentation du compteur de personnes MPersonnes.NPersonnes += 1; } else { chkScolaires.Checked = true; MAdherents nouvelAdherent = new MAdherents(); nouvelAdherent.dateInscription = DateTime.Parse(base.dateTimeInscriptionSco.Text); MAdherents.InsertAdherent(nouvelAdherent); MScolaires nouveauScolaire = new MScolaires(leCode, uneVille, uneEcole, uneClasse, unNom, unPrenom, unCP); nouveauScolaire.Code = Int32.Parse(base.txtbCodeSco.Text); nouveauScolaire.NumAdherent = (Int32)(MAdherents.LastInsertId()); nouveauScolaire.Ville = base.txtbVilleEcole.Text; nouveauScolaire.CodePostal = base.txtbCP.Text; nouveauScolaire.Etablissement = base.txtbEcole.Text; nouveauScolaire.Classe = base.cbbClasse.Text; nouveauScolaire.Nom = base.txtbNomProf.Text; nouveauScolaire.Prenom = base.txtbPrenomProf.Text; MScolaires.InsertScolaire(nouveauScolaire); Donnees.tableScolaires = MScolaires.ListerScolaires(""); MScolaires.NScolaires += 1; } this.Close(); // fermeture de la boite de dialogue par validation this.DialogResult = DialogResult.OK; } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
private void txtbRecherche_TextChanged(object sender, EventArgs e) { MPersonnes.ListerPersonnes(txtbRecherche.Text); affichePersonnes(); }