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