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 :
- Créer la base de données Cinema.
- Dans la base Cinema, crée la table suivante :

Partie client :
- Créer l’interface suivante :

- É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.
- É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.
- É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.
- Écrire le code du Bouton Vider qui va permettre de vider les champs de saisie.
- Écrire le code du Bouton Quitter qui va permettre de terminer l’application.
- Modifier l’interface de l’application en ajoutant un DataGridView.

- É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.
- 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();
}
}
}
