Mar.22

TP4 : Utilisation des Combobox et les Menus.

Objectif

L’objectif de ce TP est de s’habituer à utiliser les opérations de la mise à jour sur une table, et aussi l’utilisation des Combobox et les Menus.

Questions

Partie serveur :

  1. Dans la base Cinema, ajoute la table Film :

Partie client :

  1. Créer l’interface suivante : 
  2. Lier l’interface suivante à la commande Réalisateur du menu Gestion cinématique.
  3. Copier à partir du TP 3 les codes des boutons Ajouter, Modifier, Supprimer et vider.
  4. Lier l’interface suivante à la commande Film du menu Gestion cinématique.
  5. Utiliser le composant DateTimePicker pour la saisie de la date de sortie du film.
  6. Utiliser un Combobox qui va contenir la liste des noms des réalisateurs.
  7. Ecrire le code qui va remplir le Combobox par la liste des noms des réalisateurs.
  8. Désactiver l’édition d’éléments Combobox et choisir le nom du deuxième réalisateur comme une valeur par défaut du Combobox.
  9. Ecrire une fonction liste_film() qui va permettre d’affiche tous les enregistrements de la table film sur Cette fonction est appelée lors du démarrage de l’application et après l’effectuation de chaque opération.
  10. Changer les noms des colonnes du DataGridView.
  11. Ecrire le code du Bouton Ajouter qui va permettre d’ajouter un nouveau film. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  12. Ecrire le code du Bouton Modifier qui va permettre de modifier un film. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  13. Ecrire le code du Bouton Supprimer qui va permettre de supprimer un film. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  14. Ecrire le code du Bouton Vider qui va permettre de vider les champs de saisie et d’initialise la date de sortie du film.
  15. Ecrire le code du Bouton à propos pour qu’il affiche le message suivant :

Correction

La classe Menu

namespace TP4_GESTION_CINEMA
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void réalisateurToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Realisateur r = new Realisateur();
            r.Show();
        }

        private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void filmToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Film f = new Film();
            f.Show();
        }

        private void aProposToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Gestion cinématique version 1.0");
        }
    }
}

La classe Réalisateur

 
namespace TP4_GESTION_CINEMA
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void réalisateurToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Realisateur r = new Realisateur();
            r.Show();
        }

        private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void filmToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Film f = new Film();
            f.Show();
        }

        private void aProposToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Gestion cinématique version 1.0");
        }
    }
}




namespace TP4_GESTION_CINEMA
{
    public partial class Realisateur : Form
    {
        public Realisateur()
        {
            InitializeComponent();
        }

        private void Quitter_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void Vider_Click(object sender, EventArgs e)
        {
            id_realisateur.Text = "";
            nom_realisateur.Text = "";
        }

        private void Ajouter_Click(object sender, EventArgs e)
        {
            int id = int.Parse(id_realisateur.Text);

            String nom = nom_realisateur.Text;
            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("INSERT INTO realisateur VALUES(" + id +" , '" + nom + "')", conn);
                conn.Open();
                cmd.ExecuteNonQuery(); // Exécution de la requête SQL
                liste_realisateur();
                MessageBox.Show("L'insertion a été effectuée avec succè");
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn.Close();
            }
        }

        private void Modifier_Click(object sender, EventArgs e)
        {
            int id = int.Parse(id_realisateur.Text);

            String nom = nom_realisateur.Text;
            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("update realisateur set nom_realisateur = '"+nom+"' where id_realisateur ="+id+"", conn);
                conn.Open();
                cmd.ExecuteNonQuery(); // Exécution de la requête SQL
                liste_realisateur();
                MessageBox.Show("La modification a été effectuée avec succè");

            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn.Close();
            }
        }

        private void Supprimer_Click(object sender, EventArgs e)
        {
            int id = int.Parse(id_realisateur.Text);

            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("delete from realisateur where id_realisateur =" + id + "", conn);
                conn.Open();
                cmd.ExecuteNonQuery(); // Exécution de la requête SQL
                liste_realisateur();
                MessageBox.Show("La suppression a été effectuée avec succè");
                
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn.Close();
            }
        }

        private void liste_realisateur()
        {

            SqlDataReader dr;
            SqlConnection conn2 = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("select id_realisateur as 'Id du realisateur'  , nom_realisateur as 'Nom du realisateur'  from realisateur", conn2);
                conn2.Open();
                dr = cmd.ExecuteReader();
                BindingSource source = new BindingSource();
                source.DataSource = dr;
               
                dataGridView1.DataSource = source;
                //dataGridView1.Columns[0].HeaderText = "Id du realisateur";
                //dataGridView1.Columns[1].HeaderText = "Nom du realisateur";
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn2.Close();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            liste_realisateur();
        }

       
    }
}

La classe Film

 
namespace TP4_GESTION_CINEMA
{
    public partial class Film : Form
    {
        public Film()
        {
            InitializeComponent();
        }

        private void Film_Load(object sender, EventArgs e)
        {
            combo_NomRealisateur();
            liste_film();
           
        }

        private void Ajouter_Click(object sender, EventArgs e)
        {
            int id = int.Parse(idFilm.Text);
            String nomFilm = titreFilm.Text;
            int duree = int.Parse(dureeFilm.Text);
            String d = dateSortie.Value.ToString("yyyy-MM-dd");
            String nomRealisateur = listeRealisateur.Text;
            int id_re = getIdRealisateur(nomRealisateur);
            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("INSERT INTO film VALUES(" + id + " , '" + nomFilm + "','"+duree+"','"+d+"','"+id_re+"')", conn);
                conn.Open();
                cmd.ExecuteNonQuery(); // Exécution de la requête SQL
                liste_film();
                MessageBox.Show("L'insertion a été effectuée avec succè");
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn.Close();
            }
        }
        private void liste_film()
        {

            SqlDataReader dr;
            SqlConnection conn2 = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("select id_film as 'Numéro du film'  , titre_film as 'Titre du film', duree_film as 'Duree du film (minutes)', dateSortie_film as 'Date de sortie du film', nom_realisateur as 'Nom du realisateur'  from film, realisateur where film.id_realisateur=realisateur.id_realisateur", conn2);
                conn2.Open();
                dr = cmd.ExecuteReader();
                BindingSource source = new BindingSource();
                source.DataSource = dr;
                dataGridView1.DataSource = source;
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn2.Close();
            }
        }
        private void combo_NomRealisateur()
        {

            SqlDataReader dr;
            SqlConnection conn2 = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("select nom_realisateur from realisateur",conn2);
                conn2.Open();
                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        listeRealisateur.Items.Add(dr["nom_realisateur"]);
                    }
                }
                listeRealisateur.SelectedIndex = 0;
                //faire un combobox non modifiable
                //listeRealisateur.DropDownStyle = ComboBoxStyle.DropDownList;
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn2.Close();
            }
        }
        private int getIdRealisateur(String nomRealisateur) {
            
            SqlConnection conn2 = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            SqlCommand cmd = new SqlCommand("select id_realisateur from realisateur where nom_realisateur = '" + nomRealisateur + "'", conn2);
            conn2.Open();
            int i = (int)cmd.ExecuteScalar();
            return i;
        }

        private void Modifier_Click(object sender, EventArgs e)
        {
            int id = int.Parse(idFilm.Text);
            String nomFilm = titreFilm.Text;
            int duree = int.Parse(dureeFilm.Text);
            String d = dateSortie.Value.ToString("yyyy-MM-dd");
            String nomRealisateur = listeRealisateur.Text;
            int id_re = getIdRealisateur(nomRealisateur);
            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("update film set titre_film = '" + nomFilm + "', duree_film='" + duree + "', dateSortie_film='"+d+"', id_realisateur='"+id_re+"' where id_film =" + id + "", conn);
                conn.Open();
                cmd.ExecuteNonQuery(); // Exécution de la requête SQL
                liste_film();
                MessageBox.Show("La modification a été effectuée avec succè");
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Fermeture de la connexion à la base de données
                conn.Close();
            }
        }

        private void Vider_Click(object sender, EventArgs e)
        {
            idFilm.Text = "";
            titreFilm.Text = "";
            dureeFilm.Text = "";
            dateSortie.Text = DateTime.Now.Date.ToString();
            listeRealisateur.SelectedIndex = 0;
        }

        private void Supprimier_Click(object sender, EventArgs e)
        {
            int id = int.Parse(idFilm.Text);
            SqlConnection conn = new SqlConnection("server = DESKTOP-EIALG0J\\SQLEXPRESS; database = cinema; integrated security = SSPI");
            try
            {
                SqlCommand cmd = new SqlCommand("delete from film where id_film =" + id + "", conn);
                conn.Open();
                cmd.ExecuteNonQuery();
                liste_film();
                MessageBox.Show("La suppression a été effectuée avec succè");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
    }
}
TP
Share this Story:
  • facebook
  • twitter
  • gplus

About Hassan EL Bahi

Assistant Professor at Cadi ayyad University.

Leave a comment

Comment