Exercice 4 ADO.NET Corrigé S1
É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 mettre à jour 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 mettre à jour 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é
Console.Write("Entrez l'ID de l'employé à mettre à jour : ");
int employeeId;
while (!int.TryParse(Console.ReadLine(), out employeeId))
{
Console.Write("Veuillez entrer un ID valide : ");
}
// Demande à l'utilisateur de saisir le nouveau poste
Console.Write("Entrez le nouveau poste de l'employé : ");
string newPosition = Console.ReadLine();
// Requête SQL pour mettre à jour le poste de l'employé
string query = "UPDATE Employees SET Position = @Position WHERE ID = @ID";
// Utilisation de SqlConnection et SqlCommand pour mettre à jour les données
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
// Ajout des paramètres à la requête
command.Parameters.AddWithValue("@Position", newPosition);
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("Mise à jour réussie !");
}
else
{
Console.WriteLine("Aucun enregistrement trouvé avec cet ID.");
}
}
catch (SqlException ex)
{
// Gestion des erreurs de connexion ou de mise à jour
Console.WriteLine("Erreur lors de la mise à jour 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 :
-
connectionString: La chaîne de connexion utilisée pour se connecter à votre base de données SQL Server. RemplacezNomDeVotreBaseDeDonnéespar le nom de votre base de données. -
Demande d'ID et de poste : Le programme demande à l'utilisateur d'entrer l'ID de l'employé dont les informations doivent être mises à jour, ainsi que le nouveau poste.
-
int.TryParse: Utilisé pour valider que l'entrée de l'utilisateur pour l'ID est un nombre entier valide. -
SqlCommand: La classeSqlCommandest utilisée pour exécuter la requête SQL de mise à jour. -
Paramètres de la requête : Les paramètres (
@Position,@ID) sont utilisés pour éviter les injections SQL et insérer les valeurs dans la requête SQL. -
ExecuteNonQuery: Méthode deSqlCommandutilisée pour exécuter des requêtes SQL qui ne retournent pas de données (comme une requête de mise à jour). -
Gestion des exceptions avec
try-catch: Le bloctry-catchgère les erreurs qui peuvent survenir lors de l'exécution de la requête ou de la connexion. -
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 mise à jour 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 mise à jour (par exemple, si l'ID n'existe pas), un message d'erreur sera affiché.
Remarque :
- Assurez-vous que la table
Employeesexiste dans votre base de données et que les colonnesPositionetIDsont correctement définies.
Pas encore de commentaires.
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.