private void btnSupprimer_Click(object sender, EventArgs e) { try { // si un livre est pointé dans la datagridview if (this.grdLivres.CurrentRow != null) { // récupère la clé du livre pointé String cleLivre; cleLivre = (String)this.grdLivres.CurrentRow.Cells[0].Value; // demande confirmation de la suppression if (MessageBox.Show("Voulez-vous supprimer le livre numéro :" + cleLivre.ToString(), "Suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { MLivres.DeleteLivre(cleLivre.ToString()); // réaffiche la datagridview afficheLivres(); } } } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
/// <summary> /// Rechercher un livre dans la liste en connaissant sa clé /// </summary> /// <param name="unCodeLivre">le codeLivre (=la clé) du livre à rechercher</param> /// <exception cref="Exception">Si codeLivre reçu non trouvé en collection</exception> /// <returns>la référence à un livre</returns> public static MLivres RestituerLivre(String recherche) { MLivres unLivre = null; MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "SELECT * FROM livres WHERE code_livre=@recherche"; cmd.Parameters.AddWithValue("@recherche", recherche); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { unLivre = new MLivres(); // affectation des 7 lignes unLivre.CodeLivre = reader.GetString(0); unLivre.Isbn = reader.GetString("isbn"); unLivre.Titre = reader.GetString("titre"); unLivre.Categorie = reader.GetString("categorie"); unLivre.Sortie = reader.GetDateTime("date_sortie"); unLivre.Auteur = reader.GetString("auteur"); unLivre.Editeur = reader.GetString("editeur"); } reader.Close(); if (unLivre == null) { throw new Exception("Aucun livre pour le numéro " + recherche); } else { return(unLivre); } }
/// <summary> /// fonction qui instancie un nouvel objet MLivres puis tente d'affecter ses membres (attributs ou propriété) /// avec interception d'une erreur éventuelle levée par la classe MLivres et ajoute la référence de ce livre dans la collection de sa section /// </summary> /// <returns>Boolean : true = OK, false = erreur</returns> private Boolean instancie() { // créer une référence d'objet MLivres MLivres nouveauLivre; try { // instancie un livre spécialisé DE et lui affecter toutes ses propriétés nouveauLivre = new MLivres( base.txtbCodeLivre.Text, base.txtbISBN.Text, base.txtbTitre.Text, base.cbbCategorie.Text, DateTime.Parse(base.dateTimeSortie.Text), base.txtbAuteur.Text, base.txtbEditeur.Text); MLivres.InsertLivre(nouveauLivre); return(true); } catch (Exception ex) { nouveauLivre = null; MessageBox.Show("Erreur : \n" + ex.Message, "Ajout de livre"); return(false); } }
private void btnOk_Click(object sender, EventArgs e) { try { MLivres modifierLivre = new MLivres(); // affecte des variables/propriétés modifierLivre.CodeLivre = base.txtbCodeLivre.Text; modifierLivre.Isbn = base.txtbISBN.Text; modifierLivre.Titre = base.txtbTitre.Text; modifierLivre.Categorie = base.cbbCategorie.Text; modifierLivre.Sortie = DateTime.Parse(base.dateTimeSortie.Text); modifierLivre.Auteur = base.txtbAuteur.Text; modifierLivre.Editeur = base.txtbEditeur.Text; // appelle la méthode insert, de la classe métier MLivres.UpdateLivre(modifierLivre); // ajoute la référence d'objet MLivres dans la collection Donnees.tableLivres = MLivres.ListerLivres(""); // incrémentation du compteur de livres MLivres.NLivres = 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); } }
public void afficheLivres() { // détermine l'origine des données à afficher : appel de la méthode de la classe MLivres // qui alimente et retourne la copie de sa collection de livres sous forme de datatable this.grdLivres.DataSource = MLivres.ListerLivres(txtbRecherche.Text); // rafraîchit l'affichage this.grdLivres.Refresh(); }
/// <summary> /// méthode pour mettre à jour le livre dans l'application et également dans la base de données /// </summary> /// <param name="ad"></param> public static void UpdateLivre(MLivres lvr) { MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "UPDATE livres SET isbn=@Isbn, editeur=@Editeur WHERE code_livre=@CodeLivre"; cmd.Parameters.AddWithValue("@Titre", lvr.Titre); cmd.Parameters.AddWithValue("@Isbn", lvr.Isbn); cmd.Parameters.AddWithValue("@Editeur", lvr.Isbn); cmd.Parameters.AddWithValue("@CodeLivre", lvr.Isbn); cmd.ExecuteNonQuery(); }
/// <summary> /// méthode pour insérer un livre dans l'application ainsi que dans la base de données /// </summary> /// <param name="lvr"></param> public static void InsertLivre(MLivres lvr) { // crée la commande sql MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand(); cmd.CommandText = "INSERT INTO livres(code_livre, isbn, titre, categorie, date_sortie, auteur, editeur)" + "VALUES (@codeLivre, @isbn, @titre, @categorie, @dateSortie, @auteur, @editeur)"; // exécute la commande cmd.Parameters.AddWithValue("@codeLivre", lvr.CodeLivre); cmd.Parameters.AddWithValue("@isbn", lvr.Isbn); cmd.Parameters.AddWithValue("@titre", lvr.Titre); cmd.Parameters.AddWithValue("@categorie", lvr.Categorie); cmd.Parameters.AddWithValue("@dateSortie", lvr.Sortie); cmd.Parameters.AddWithValue("@auteur", lvr.Auteur); cmd.Parameters.AddWithValue("@editeur", lvr.Editeur); // exécute la requête cmd.ExecuteNonQuery(); }
/// <summary> /// ouvre la feuille détail en y affichant le livre correspondant à la ligne double-cliquée /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void grdLivres_DoubleClick(object sender, EventArgs e) { try { String iLivre; iLivre = (String)this.grdLivres.CurrentRow.Cells[0].Value; livre = MLivres.RestituerLivre(iLivre); // as MPersonnes; // instancie le form consultation personne frmConsultationLivre frmConsulter = new frmConsultationLivre(livre); // affiche le form de consultation d'une personne frmConsulter.ShowDialog(); // rafraîchit la datagridview quand le form est fermé this.afficheLivres(); } catch (Exception ex) { MessageBox.Show("Une erreur est survenue \n" + ex.Message); } }
private void btnOK_Click(object sender, EventArgs e) { try { // créer une référence d'objet MListeEntrees MLivres nouveauLivre = new MLivres(leCode, unIsbn, leTitre, laCategorie, laSortie, unAuteur, unEditeur); // affecter les données de l'objet MListeEntrees : // variables simples, ou autres, ce qui déclenche alors // le code des méthodes set nouveauLivre.CodeLivre = base.txtbCodeLivre.Text; nouveauLivre.Isbn = base.txtbISBN.Text; nouveauLivre.Titre = base.txtbTitre.Text; nouveauLivre.Categorie = base.cbbCategorie.Text; nouveauLivre.Sortie = DateTime.Parse(base.dateTimeSortie.Text); nouveauLivre.Auteur = base.txtbAuteur.Text; nouveauLivre.Editeur = base.txtbEditeur.Text; // invoque la méthode insert, écrite dans sa classe métier MLivres.InsertLivre(nouveauLivre); //ajouter la référence d'objet MPersonnes dans la collection Donnees.tableLivres = MLivres.ListerLivres(""); // incrémentation compteur de livres MLivres.NLivres += 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> /// modifier les données d'un livre /// tout est modifiable sauf le codeLivre (= clé de la collection) /// </summary> /// <param name="unLivre">la référence au nouvel objet MLivres pour cette clé</param> public void Remplacer(MLivres unLivre) { // modifie la référence du livre stockée dans la collection this.lesLivres[unLivre.CodeLivre] = unLivre; }
/// <summary> /// ajouter un livre à la collection /// (reçoit la référence au livre et en déduit la clé (= codeLivre) pour la collection) /// </summary> /// <param name="unLivre">la référence du livre à ajouter</param> public void Ajouter(MLivres unLivre) { this.lesLivres.Add(unLivre.CodeLivre, unLivre); }
private void txtbRecherche_TextChanged(object sender, EventArgs e) { MLivres.ListerLivres(txtbRecherche.Text); afficheLivres(); }
public frmConsultationLivre(MLivres livre) { // on crée une référence d'objet livre pointant vers le livre d'origine de la collection this.leLivre = livre; InitializeComponent(); }