¿Cuál es la mejor manera de conectarse y utilizar una base de datos sqlite desde C#?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

He hecho esto antes en C++ al incluir sqlite.h, pero ¿existe una manera igualmente fácil en C#?

¿Fue útil?

Solución

Proveedor ADO.NET 2.0 para SQLite tiene más de 200 descargas cada día, así que creo que estás seguro usándola.

Otros consejos

Estoy con Bruce.Estoy usando http://system.data.sqlite.org/ con gran éxito también.Aquí hay un ejemplo de clase simple que creé:

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;
  }
}

También hay un Paquete NuGet:Sistema.Datos.SQLite disponible.

He usado esto con gran éxito:

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

Gratis sin restricciones.

(Nota de la revisión:El sitio original ya no existe.El enlace de arriba tiene un enlace que apunta al sitio 404 y tiene toda la información del original)

--Bruce

Hay una lista de contenedores Sqlite para .Net en http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.Por lo que he oído http://sqlite.phxsoftware.com/ es bastante bueno.Este en particular te permite acceder a Sqlite a través de ADO.Net como cualquier otra base de datos.

Ahora también existe esta opción: http://code.google.com/p/csharp-sqlite/ - una adaptación completa de SQLite a C#.

https://github.com/praeclarum/sqlite-net Ahora es probablemente la mejor opción.

Otra forma de utilizar la base de datos SQLite en NET Framework es utilizar NHibernate fluido.
[Es el módulo NET que envuelve NHibernate (módulo ORM - Mapeo relacional de objetos) y permite configurar NHibernate mediante programación (sin archivos XML) con el patrón fluido.]

Aquí está la breve descripción de 'Cómo comenzar' sobre cómo hacer esto en C# paso a paso:

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

Incluye un código fuente como proyecto de Visual Studio.

Mono viene con un envoltorio, ¡usa el de ellos!

https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 proporciona código para envolver el dll SQLite real ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip encontrado en la página de descarga http://www.sqlite.org/download.html/ ) de forma compatible con .net.Funciona en Linux o Windows.

Este parece el más sencillo de todos los mundos, ya que minimiza su dependencia de bibliotecas de terceros.Si tuviera que hacer este proyecto desde cero, esta es la forma en que lo haría.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top