Mar.22

TP3 : Mise à jour sur une table en mode connecté

Objectif

L’objectif de ce TP est de s’habituer à utiliser les opérations de la mise à jour sur une table.

Questions

Partie serveur :

  1. Créer la base de données Cinema.
  2. Dans la base Cinema, crée la table suivante :

Partie client :

  1. Créer l’interface suivante : 
  2. Écrire le code du Bouton Ajouter qui va permettre d’ajouter un nouveau réalisateur. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  3. Écrire le code du Bouton Modifier qui va permettre de modifier le nom d’un réalisateur. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  4. Écrire le code du Bouton Supprimer qui va permettre de supprimer un réalisateur. Un Messagebox sera affiché si l’opération est effectuée avec succès.
  5. Écrire le code du Bouton Vider qui va permettre de vider les champs de saisie.
  6. Écrire le code du Bouton Quitter qui va permettre de terminer l’application.
  7. Modifier l’interface de l’application en ajoutant un DataGridView.
  8. Écrire une fonction liste_realisateur() qui va permettre d’affiche tous les enregistrements de la table Realisateur sur Cette fonction est appelée lors du démarrage de l’application et après l’effectuation de chaque opération.
  9. Ajouter le bloc try catch finally qui va permettre de traiter et afficher les exceptions et les erreurs de la connexion.

Correction

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace TP3_Gestion_Cinema
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            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 * from 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 Form1_Load(object sender, EventArgs e)
        {
            liste_realisateur();
        }

       
    }
}

TP
Share this Story:
  • facebook
  • twitter
  • gplus

About Hassan EL Bahi

Assistant Professor at Cadi ayyad University.

Leave a comment

Comment