Quelle est la meilleure façon de se connecter et d'utiliser une base de données SQLite à partir de C#

StackOverflow https://stackoverflow.com/questions/26020

  •  09-06-2019
  •  | 
  •  

Question

Je l'ai déjà fait en C++ en incluant sqlite.h mais existe-t-il un moyen tout aussi simple en C# ?

Était-ce utile?

La solution

Fournisseur ADO.NET 2.0 pour SQLite a plus de 200 téléchargements chaque jour, donc je pense que vous pouvez utiliser celui-ci en toute sécurité.

Autres conseils

Je suis avec Bruce.J'utilise http://system.data.sqlite.org/ avec également beaucoup de succès.Voici un exemple de classe simple que j'ai créé :

using System;
using System.Text;
using System.Data;
using System.Data.SQLite;

namespace MySqlLite
{
      class DataClass
      {
        private SQLiteConnection sqlite;

        public DataClass()
        {
              //This part killed me in the beginning.  I was specifying "DataSource"
              //instead of "Data Source"
              sqlite = new SQLiteConnection("Data Source=/path/to/file.db");

        }

        public DataTable selectQuery(string query)
        {
              SQLiteDataAdapter ad;
              DataTable dt = new DataTable();

              try
              {
                    SQLiteCommand cmd;
                    sqlite.Open();  //Initiate connection to the db
                    cmd = sqlite.CreateCommand();
                    cmd.CommandText = query;  //set the passed query
                    ad = new SQLiteDataAdapter(cmd);
                    ad.Fill(dt); //fill the datasource
              }
              catch(SQLiteException ex)
              {
                    //Add your exception code here.
              }
              sqlite.Close();
              return dt;
  }
}

Il y a aussi un Forfait NuGet :Système.Data.SQLite disponible.

J'ai utilisé ceci avec beaucoup de succès :

http://system.data.sqlite.org/

Gratuit sans aucune restriction.

(Remarque de l'examen :Le site d'origine n'existe plus.Le lien ci-dessus a un lien pointant vers le site 404 et contient toutes les informations de l'original)

--Bruce

Il existe une liste de wrappers SQLite pour .Net à l'adresse http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.D'après ce que j'ai entendu http://sqlite.phxsoftware.com/ c'est plutôt bien.Celui-ci vous permet d'accéder à SQLite via ADO.Net comme n'importe quelle autre base de données.

Il existe également désormais cette option : http://code.google.com/p/csharp-sqlite/ - un portage complet de SQLite vers C#.

https://github.com/praeclarum/sqlite-net est probablement maintenant la meilleure option.

Une autre façon d'utiliser la base de données SQLite dans NET Framework consiste à utiliser Courant-NHibernate.
[Il s'agit d'un module NET qui entoure NHibernate (module ORM - Object Relational Mapping) et permet de configurer NHibernate par programme (sans fichiers XML) avec le modèle fluide.]

Voici la brève description « Démarrage » sur la façon de procéder en C#, étape par étape :

https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started

Il inclut un code source en tant que projet Visual Studio.

Mono est livré avec un emballage, utilisez le leur !

https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 donne du code pour envelopper la dll SQLite réelle ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip trouvé sur la page de téléchargement http://www.sqlite.org/download.html/ ) d'une manière conviviale .net.Cela fonctionne sous Linux ou Windows.

Cela semble le plus mince de tous les mondes, minimisant votre dépendance à l'égard des bibliothèques tierces.Si je devais réaliser ce projet à partir de zéro, c'est comme ça que je le ferais.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top