Exercices ADO.NET

Exercice 5 ADO.NET Corrigé S1

Suppression d'un enregistrement

Objectif : Supprimer un enregistrement d'une table.

Instructions :

  • Créez une application console qui demande à l'utilisateur de saisir l'ID d'un employé à supprimer.
  • Supprimez cet enregistrement de la base de données SQL Server.
  • Affichez un message confirmant la suppression.

Consigne : Utilisez une requête SQL DELETE avec SqlCommand.

Étape 1 : Créez une application console

Ouvrez Visual Studio et créez un nouveau projet Console Application.

Étape 2 : Ajouter les namespaces nécessaires

Ajoutez les directives using pour inclure les bibliothèques ADO.NET nécessaires.

using System;
using System.Data.SqlClient;

Étape 3 : Écrire le code pour supprimer les données

Exemple de chaîne de connexion :

// Chaîne de connexion typique pour SQL Server local
string connectionString = "Data Source=localhost;Initial Catalog=NomDeVotreBaseDeDonnées;Integrated Security=True";

Code complet pour supprimer un enregistrement :

using System;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        // Chaîne de connexion à la base de données
        string connectionString = "Data Source=localhost;Initial Catalog=NomDeVotreBaseDeDonnées;Integrated Security=True";

        // Demande à l'utilisateur de saisir l'ID de l'employé à supprimer
        Console.Write("Entrez l'ID de l'employé à supprimer : ");
        int employeeId;
        while (!int.TryParse(Console.ReadLine(), out employeeId))
        {
            Console.Write("Veuillez entrer un ID valide : ");
        }

        // Requête SQL pour supprimer l'enregistrement de l'employé
        string query = "DELETE FROM Employees WHERE ID = @ID";

        // Utilisation de SqlConnection et SqlCommand pour supprimer les données
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand(query, connection);

            // Ajout du paramètre à la requête
            command.Parameters.AddWithValue("@ID", employeeId);

            try
            {
                // Ouverture de la connexion
                connection.Open();

                // Exécution de la requête
                int rowsAffected = command.ExecuteNonQuery();

                // Affichage du message de confirmation
                if (rowsAffected > 0)
                {
                    Console.WriteLine("Suppression réussie !");
                }
                else
                {
                    Console.WriteLine("Aucun enregistrement trouvé avec cet ID.");
                }
            }
            catch (SqlException ex)
            {
                // Gestion des erreurs de connexion ou de suppression
                Console.WriteLine("Erreur lors de la suppression des données : " + ex.Message);
            }
            finally
            {
                // Fermeture de la connexion si elle est ouverte
                if (connection.State == System.Data.ConnectionState.Open)
                {
                    connection.Close();
                    Console.WriteLine("Connexion fermée.");
                }
            }
        }

        // Pause pour visualiser la sortie dans la console
        Console.WriteLine("Appuyez sur une touche pour quitter...");
        Console.ReadKey();
    }
}

Explications :

  1. connectionString : La chaîne de connexion utilisée pour se connecter à votre base de données SQL Server. Remplacez NomDeVotreBaseDeDonnées par le nom de votre base de données.

  2. Demande d'ID : Le programme demande à l'utilisateur d'entrer l'ID de l'employé dont l'enregistrement doit être supprimé.

  3. int.TryParse : Utilisé pour valider que l'entrée de l'utilisateur pour l'ID est un nombre entier valide.

  4. SqlCommand : La classe SqlCommand est utilisée pour exécuter la requête SQL de suppression.

  5. Paramètres de la requête : Le paramètre (@ID) est utilisé pour éviter les injections SQL et insérer la valeur de l'ID dans la requête SQL.

  6. ExecuteNonQuery : Méthode de SqlCommand utilisée pour exécuter des requêtes SQL qui ne retournent pas de données (comme une requête de suppression).

  7. Gestion des exceptions avec try-catch : Le bloc try-catch gère les erreurs qui peuvent survenir lors de l'exécution de la requête ou de la connexion.

  8. connection.Close() : Ferme la connexion à la base de données après l'exécution de la requête.

Testez votre programme

Lorsque vous exécutez ce programme, voici ce qui peut se produire :

  • Si l'ID de l'employé est valide et que la suppression est réussie, un message de succès sera affiché.
  • Si l'ID ne correspond à aucun enregistrement, un message indiquant qu'aucun enregistrement n'a été trouvé sera affiché.
  • En cas de problème lors de la suppression (par exemple, si l'ID n'existe pas), un message d'erreur sera affiché.

Remarque :

  • Assurez-vous que la table Employees existe dans votre base de données et que la colonne ID est correctement définie.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.