Comment créer une connexion MySQL local en C#
Introduction
Cet article montre comment se connecter à une base de données MySQL en utilisant MySQL Connector .NET, dans ce
cour nous utiliserons un serveur apache local créé avec XAMPP.
Prérequis
- - Avoir Visual Studio d'installé sur sa machine - Version Express disponible sur le site microsoft.com
- - Avoir XAMPP d'installé - Disponible sur le site Appachefriends.org
- - Avoir Téléchargé les fichiers DLL MySQL Connector .NET - Disponible sur le
site mysql.com ou ici
Commençons
Lancez les services Apache et MySQL depuis XAMPP Control Panel. Maintenant nous pouvons
passer aux étapes de création de base de données et de connexion depuis une application C#.
Étape 1 :
Ouvrez la page MySQL Admin (Depuis XAMPP Control Panel ou tapez 127.0.0.1 dans l'url de votre navigateur) et créez une nouvelle
base de données. Dans notre exemple nous l'appelerons "mli".
Étape 2 :
Après avoir créé votre base de données, ajoutez une table dans celle-ci. Dans notre exemple nous créons une table "contact" avec les
champs suivant :
id (INTEGER), name (VARCHAR), tel (VARCHAR).
Étape 3 :
C'est le moment de créer votre projet sous Visual Studio. Ouvrez l'IDE, et ajoutez un nouveau projet. Pour ma part je le nomme TutoMySQL. Une fois
le projet créé, nous allons ajouter les "références", autrement dit les librairies qui vont nous permettre de travailler avec MySQL. Petit rappel, une
librairie n'est autre qu'un fichier DLL, composé de classes. Pour ce faire faite un clic droit sur "Reference" pour ajouter une nouvelle référence. Importer
les fichiers DLL MySql.dll et MySql.web.dll téléchargés auparavant.
Étape 4 :
Ajoutez l'espace de nom MySql dans votre projet, cette assembly sera nécessaire pour la classe Bdd présentée ci-dessous.
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
-
- // Librairie MySQL ajoutée dans les références.
- using MySql.Data.MySqlClient;
-
- namespace TutoMySQL
- {
- }
Étape 5 :
Aperçu de la chaîne de connexion :
- // 127.0.01 est l'adresse localhost du serveur Apache XAMPP
- // Nous avons créé une base de données nommée "mli"
- // L'utilisateur par défaut lors de l'installation de XAMPP est "root" sans mot de passe.
- string connectionString = "SERVER=127.0.0.1; DATABASE=mli; UID=root; PASSWORD=";
Étape 6 :
Le code suivant montre comment insérer des données dans une table MySQL. Pour cela créons une classe Contact simple et Bdd comme exemple avec
une méthode (ou fonction) d'ajout et de connexion.
- public class Contact
- {
- // Création de 3 propriétés identifiant, nom et téléphone
- public int Id { get; set; }
- public string Name { get; set; }
- public string Tel { get; set; }
-
- // Constructeur
- public Contact()
- {
- }
- }
La classe Bdd va permettre la communication entre la base de données SQL et le programme. L'initialisation de la connexion s'éffectue dans le constructeur.
On peut très bien ne pas faire comme cela et mettre la méthode InitConnexion en public avec en paramètre la chaîne de connexion.
- public class Bdd
- {
-
- private MySqlConnection connection;
-
- // Constructeur
- public Bdd()
- {
- this.InitConnexion();
- }
-
- // Méthode pour initialiser la connexion
- private void InitConnexion()
- {
- // Création de la chaîne de connexion
- string connectionString = "SERVER=127.0.0.1; DATABASE=mli; UID=root; PASSWORD=";
- this.connection = new MySqlConnection(connectionString);
- }
-
- // Méthode pour ajouter un contact
- public void AddContact(Contact contact)
- {
- try
- {
- // Ouverture de la connexion SQL
- this.connection.Open();
-
- // Création d'une commande SQL en fonction de l'objet connection
- MySqlCommand cmd = this.connection.CreateCommand();
-
- // Requête SQL
- cmd.CommandText = "INSERT INTO contact (id, name, tel) VALUES (@id, @name, @tel)";
-
- // utilisation de l'objet contact passé en paramètre
- cmd.Parameters.AddWithValue("@id", contact.Id);
- cmd.Parameters.AddWithValue("@name", contact.Name);
- cmd.Parameters.AddWithValue("@tel", contact.Tel);
-
- // Exécution de la commande SQL
- cmd.ExecuteNonQuery();
-
- // Fermeture de la connexion
- this.connection.Close();
- }
- catch
- {
- // Gestion des erreurs :
- // Possibilité de créer un Logger pour les exceptions SQL reçus
- // Possibilité de créer une méthode avec un booléan en retour pour savoir si le contact à été ajouté correctement.
- }
- }
- }
Utilisation dans le code :
- static class Program
- {
-
- static void Main(string[] args)
- {
- // Créer d'un contact à ajouter
- Contact contact = new Contact();
- contact.Id = 1;
- contact.Name = "Mli";
- contact.Tel = "00 00 00 00 00";
-
- // Création de l'objet Bdd pour l'intéraction avec la base de donnée MySQL
- Bdd bdd = new Bdd();
- bdd.AddContact(contact);
- }
-
- }
Pour finir
On vient de voir comment créer une connexion local à MySQL avec C# ainsi qu'une bref utilisation du traitement des données. Sachez que
votre application peut devenir extrêmement intéressante si vous hébergez cette base de données sur un serveur distant. Cette manipulation vous permettra
de créer des applications partagés de la même manière qu'un client/serveur.
Téléchargement
Télécharger le projet "comment se connecter à une base de données MySQL local en C#" :
Commentaires
Aidez nous à améliorer cet article.