176 votes

Créer une base de données et une table SQLite

Dans le code d'application C#, je voudrais créer et ensuite interagir avec une ou plusieurs bases de données SQLite.

Comment initialiser un nouveau fichier de base de données SQLite et l'ouvrir en lecture et en écriture ?

Après la création de la base de données, comment exécuter une instruction DDL pour créer une table ?

339voto

Max Points 3259

Le lien suivant vous mènera à un excellent tutoriel, qui m'a beaucoup aidé !

Comment utiliser SQLITE en C#

J'ai presque tout utilisé dans cet article pour créer la base de données SQLite pour ma propre application C#.

N'oubliez pas de télécharger le fichier SQLite.dll et de l'ajouter comme référence à votre projet. Ceci peut être fait en utilisant NuGet et en ajoutant la dll manuellement.

Après avoir ajouté la référence, faites référence à la dll depuis votre code en utilisant la ligne suivante en haut de votre classe :

using System.Data.SQLite;

Vous pouvez trouver les dll's ici :

DLL SQLite

Vous pouvez trouver le La méthode NuGet ici :

NuGet

La prochaine étape est la création du script. Création d'un fichier de base de données :

SQLiteConnection.CreateFile("MyDatabase.sqlite");

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();

string sql = "create table highscores (name varchar(20), score int)";

SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

sql = "insert into highscores (name, score) values ('Me', 9001)";

command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

m_dbConnection.Close();

Après avoir créé un script en C#, je pense que vous pourriez vouloir ajouter des transactions rollback, c'est plus sûr et cela empêchera votre base de données d'échouer, parce que les données seront commises à la fin en un gros morceau comme une opération atomique à la base de données et non en petits morceaux, où il pourrait échouer à la 5e de 10 requêtes par exemple.

Exemple d'utilisation des transactions :

 using (TransactionScope tran = new TransactionScope())
 {
     //Insert create script here.

     //Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
     tran.Complete();
 }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X