Exercice 3 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 la directive using pour inclure les bibliothèques ADO.NET nécessaires.
using System;
using System.Data.SqlClient;
Étape 3 : Écrire le code pour insérer 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 insérer des données :
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 des informations à l'utilisateur
Console.Write("Entrez le nom de l'employé : ");
string name = Console.ReadLine();
Console.Write("Entrez le poste de l'employé : ");
string position = Console.ReadLine();
Console.Write("Entrez le salaire de l'employé : ");
decimal salary;
while (!decimal.TryParse(Console.ReadLine(), out salary))
{
Console.Write("Veuillez entrer un salaire valide : ");
}
// Requête SQL pour insérer les données
string query = "INSERT INTO Employees (Name, Position, Salary) VALUES (@Name, @Position, @Salary)";
// Utilisation de SqlConnection et SqlCommand pour insérer 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("@Name", name);
command.Parameters.AddWithValue("@Position", position);
command.Parameters.AddWithValue("@Salary", salary);
try
{
// Ouverture de la connexion
connection.Open();
// Exécution de la requête
int rowsAffected = command.ExecuteNonQuery();
// Affichage du message de succès
if (rowsAffected > 0)
{
Console.WriteLine("Insertion réussie !");
}
else
{
Console.WriteLine("Aucune donnée insérée.");
}
}
catch (SqlException ex)
{
// Gestion des erreurs de connexion ou d'insertion
Console.WriteLine("Erreur lors de l'insertion 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'informations à l'utilisateur : Le programme demande à l'utilisateur d'entrer le nom, le poste, et le salaire de l'employé.
-
decimal.TryParse: Utilisé pour valider que l'entrée de l'utilisateur pour le salaire est un nombre décimal valide. -
SqlCommand: La classeSqlCommandest utilisée pour exécuter la requête SQL d'insertion. -
Paramètres de la requête : Les paramètres (
@Name,@Position,@Salary) 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 d'insertion). -
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 :
- Les données fournies par l'utilisateur seront insérées dans la table
Employeessi la connexion et l'insertion sont réussies. - Un message de succès sera affiché si l'insertion est réussie.
- Un message d'erreur sera affiché en cas de problème lors de l'insertion.
Remarque :
- Assurez-vous que la table
Employeesexiste dans votre base de données et que les colonnesName,Position, etSalarysont correctement définies.
Pas encore de commentaires.
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.