Aller au contenu

C# Utiliser SQLite (Source melinyel.net)

SOURCE : https://melinyel.net/topic/1700-tutoriel-commencer-%C3%A0-utiliser-sqlite-avec-c/

Tutoriel non-écrit par les Bobby’s 😉 (mais il me sert et je le mets sur mon site au cas ou il ne serait plus dispo sur le site ou je l’ai récup)

D’ailleurs je fais un peu de pub pour le site ou je l’ai récup hein 🙂 –> GO faire un tour Ici

————————————————————————————————————————————————————————————————

Aujourd’hui nous allons apprendre à utiliser SQLite en C#, pour cela je divise le tutoriel en trois grandes parties :

I • SQLite, c’est quoi ?
II • Pour quelles utilisations ?
III • Utiliser SQLite

I • SQLite, c’est quoi ?

SQLite est une bibliothèque écrite en C qui propose un moteur de base de données relationnelle accessible par le langage SQLSQLite implémente en grande partie le standard SQL-92 et des propriétés ACID.

Contrairement aux serveurs de bases de données traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client-serveur mais d’être directement intégrée aux programmes. L’intégralité de la base de données (déclarations, tables, index et données) est stockée dans un fichier indépendant de la plateforme.

D. Richard Hipp, le créateur de SQLite, a choisi de mettre cette bibliothèque ainsi que son code source dans le domaine public, ce qui permet son utilisation sans restriction aussi bien dans les projets open source que dans les projets propriétaires. Le créateur ainsi qu’une partie des développeurs principaux de SQLite sont employés par la société américaine Hwaci.

SQLite est le moteur de base de données le plus distribué au monde, grâce à son utilisation dans de nombreux logiciels grand public comme FirefoxSkypeGoogle Gears, dans certains produits d’Apple, d’Adobe et de McAfee et dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 300 Kio), il est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes : l’iPhone ainsi que les systèmes d’exploitation mobiles Symbian et Android l’utilisent comme base de données embarquée. Au total, on peut dénombrer plus d’un milliard de copies connues et déclarées de la bibliothèque.

(Source : Wikipedia)

Nous allons aujourd’hui nous intéresser au wrapper .Net de SQLite.

II • Pour quels utilisations ?

Comme dit plus haut, SQLite permet d’accéder à une base de données uniquement en local, depuis un fichier, ce qui limite donc les utilisations. Vous pourrez utiliser cette librairie donc pour des projets locaux comme par exemple gérer un système de compte sur une seule machine, stocker des résultats de calculs ou encore stocker des scores pour un jeu solo… Cependant utiliser SQLite pour des jeux ou applications diverses en ligne n’est pas possible directement, il va falloir passer par un serveur.

Des connaissances sur le SQL sont fortement recommandées, si vous n’y connaissez rien, allez lire le tutoriel sur OpenClassRoom ou sur n’importe quel autre site.

III • Utiliser SQLite

Importer la librairie

Premièrement il va vous falloir la librairie, télécharger là ici : System.Data.SQLite.dll

Une fois votre projet crée sous Visual Studio, importer cette librairie à votre celui-ci, pour cela, clic droit sur le projet puis « Importer une référence ».
Pour finir l’importation ajoutez ceci au début de la classe où vous voulez utiliser SQLite :

using System.Data.SQLite;

Créer un fichier de base de données

Chaque base de données aura son propre fichier, pour créer un fichier de base de données, nous allons utiliser la méthode statique CreateFile contenue dans la classe SQLiteConnection :

SQLiteConnection.CreateFile("MaBaseDeDonnees.sqlite");

J’utilise ici l’extention .sqlite, mais vous pouvez mettre ce que vous voulez ! (.db, .blabla)

Connexion à la base de données

Avant de pouvoir utiliser cette base de données, il va falloir se connecter à celle-ci, pour cela nous allons déclarer une nouvelle SQLiteConnection :

SQLiteConnection maConnexion;

Puis l’instancier et ouvrir la connexion :

maConnexion= new SQLiteConnection("Data Source=MaBaseDeDonnees.sqlite;Version=3;");
maConnexion.Open();

Pour fermer la connexion :

MaBaseDeDonnees.Close();

N’oubliez pas de la fermer une fois que vous n’en avez plus besoin ;)

Créer une table

Désormais nous allons utiliser le SQL, nous allons créer une table qui contiendra les meilleurs scores pour un jeu, donc un nom de type « text » et un score de type « int » :

string sql = "create table meilleursscores (nom text, score int)";

Nous devons créer un objet de type SQLiteCommand pour pouvoir l’éxécuter :

SQLiteCommand commande = new SQLiteCommand(sql, maConnexion);

Puis nous allons éxecuter cette commande :

command.ExecuteNonQuery();

Remplir la table

Nous allons maintenant remplir cette table comme ceci :

string sql = "insert into meilleursscores (nom, score) values ('VFRZ', 100)";
SQLiteCommand commande = new SQLiteCommand(sql, maConnexion);
commande.ExecuteNonQuery();

Lire les meilleurs scores depuis la table

Pour lire la table c’est un peu différent que pour la remplir ou la créer.

Premièrement, la commande select :

string sql = "select * from meilleursscores order by score desc";
SQLiteCommand commande = new SQLiteCommand(sql, maConnexion);

Puis il va falloir utiliser un SQLiteDataReader pour utiliser cette commande :

SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
       Console.WriteLine("Nom: " + reader["nom"] + "\tScore: " + reader["score"]);

 

 

4 commentaires sur “C# Utiliser SQLite (Source melinyel.net)”

  1. Merci beaucoup ! C’est simple, facile, et ça marche du premier coup.
    Une petit erreur cependant :
    « Pour fermer la connexion :
    MaBaseDeDonnees.Close(); »
    il faut remplacer « MaBaseDeDonnées.Close() » par « MaConnexion.Close() »

Répondre à Michael Ruffenach Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *