Ajouter des contacts à une base de données est une fonctionnalité essentielle des systèmes de gestion.
Sans elle, votre application perd de sa valeur, et des erreurs peuvent survenir si les données ne sont pas correctement gérées.
Cet article vous guide à travers les étapes pour ajouter des contacts en utilisant C# et SQLite, en assurant la sécurité et la validation des données.
Démarrez votre voyage en programmation C# et devenez un expert en un rien de temps.
Introduction à l'ajout de contact SQLite
Dans un système de gestion de contacts, une fonctionnalité clé est la capacité d’ajouter des contacts. Sans cette possibilité, l’application perd une grande partie de son utilité. Cet ebook détaille la mise en œuvre de cette fonctionnalité, en mettant en avant les étapes nécessaires pour capturer les informations utilisateur, les valider et les enregistrer dans une base de données SQLite.
Modification du menu pour gestion de contacts
Commencez par ajouter une méthode appelée AjouterContact au menu principal. Voici comment procéder :
- Ajoutez une option dans le menu pour invoquer cette méthode.
- Si la méthode n’existe pas encore, générez-la dans votre IDE. Par exemple, dans Visual Studio, cliquez avec le bouton droit et sélectionnez « Générer la méthode ».
Capture des données utilisateur sécurisé
Création de requêtes SQL paramétrées
Utilisez des commandes Console pour guider l’utilisateur dans la saisie des informations :
Console.SetCursorPosition(0, 14); // Ajustement pour l'affichage
Console.Write("Entrez le nom : ");
string nom = Console.ReadLine();
Console.Write("Entrez le prénom : ");
string prenom = Console.ReadLine();
Console.Write("Entrez l'email : ");
string email = Console.ReadLine();
Connexion et exécution avec SQLite
Créez une requête SQL pour insérer ces données dans une table contacts :
string query = $"INSERT INTO contacts (nom, prenom, email) VALUES ('{nom}', '{prenom}', '{email}')";
Note : Cette méthode, bien qu’éducative, est vulnérable aux injections SQL. Pour des applications en production, utilisez des requêtes paramétrées.
Confirmation visuelle de l'ajout réussi
Utilisez un objet SQLiteConnection pour établir une connexion, et exécutez la requête avec un SQLiteCommand :
using (var connection = new SQLiteConnection("Data Source=contacts.db"))
{
connection.Open();
using (var command = new SQLiteCommand(query, connection))
{
command.ExecuteNonQuery();
}
}
Résultat final et validation des données
Affichez un message pour informer l’utilisateur que le contact a été ajouté avec succès :
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Contact ajouté avec succès.");
Console.ResetColor();
Console.ReadKey(); // Pause avant de revenir au menu principal
Code pour la méthode d’ajout complet:
static void AjouterContact()
{
Console.Clear();
Console.SetCursorPosition(0, 14); // Ajustement pour l'affichage
Console.Write("Entrez le nom : ");
string nom = Console.ReadLine();
Console.Write("Entrez le prénom : ");
string prenom = Console.ReadLine();
Console.Write("Entrez l'email : ");
string email = Console.ReadLine();
try
{
using (var connexion = new SQLiteConnection(cheminBDD))
{
connexion.Open();
string requeteAjout = @"
INSERT INTO Contacts (Nom, Prenom, Email)
VALUES (@Nom, @Prenom, @Email);
";
using (var commande = new SQLiteCommand(requeteAjout, connexion))
{
commande.Parameters.AddWithValue("@Nom", nom);
commande.Parameters.AddWithValue("@Prenom", prenom);
commande.Parameters.AddWithValue("@Email", email);
commande.ExecuteNonQuery();
}
}
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\nContact ajouté avec succès !");
Console.ResetColor();
}
catch (Exception ex)
{
AfficherMessageErreur($"Erreur lors de l'ajout du contact : {ex.Message}");
}
Consignes pour sécuriser contre l'injection SQL
Une fois la fonctionnalité implémentée, vous pourrez ajouter des contacts à votre base de données, visualiser un message de confirmation, et vérifier l’intégrité des données en utilisant un outil comme
DB Browser for SQLite
.
Résultat:
Résultat dans la base de données:
8. Consignes supplémentaires :
- Validation :Ajoutez une validation pour vérifier que les champs ne sont pas vides et que l’email respecte un format correct.
if (string.IsNullOrWhiteSpace(nom) || string.IsNullOrWhiteSpace(prenom) || string.IsNullOrWhiteSpace(email))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Tous les champs doivent être remplis.");
Console.ResetColor();
return;
}
if (!email.Contains("@"))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("L'email doit contenir un '@'.");
Console.ResetColor();
return;
}
- Amélioration visuelle :Utilisez des couleurs pour distinguer les messages d’erreur et de succès.
- Optimisation :Centralisez la gestion de la connexion à la base de données dans une méthode utilitaire pour éviter la duplication de code.
static SQLiteConnection GetConnection()
{
return new SQLiteConnection("Data Source=contacts.db");
}
Avec ces étapes, votre fonctionnalité d’ajout de contact sera prête et robuste, répondant aux besoins de gestion des données tout en offrant une bonne expérience utilisateur.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment ajouter un contact dans SQLite avec C#?
Pourquoi utiliser des requêtes paramétrées?
Comment valider les données avant de les ajouter?
Quelle est l'importance de la confirmation utilisateur?
Comment améliorer l'interface utilisateur lors de l'ajout de contacts?
Conclusion
Avec la maîtrise de l’ajout de contacts en SQLite, quelles autres fonctionnalités pourriez-vous intégrer pour enrichir votre application de gestion de contacts?