Qual é a melhor maneira de conectar e usar um banco de dados sqlite de C#

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Já fiz isso antes em C++ incluindo sqlite.h, mas existe uma maneira igualmente fácil em C#?

Foi útil?

Solução

Provedor ADO.NET 2.0 para SQLite tem mais de 200 downloads todos os dias, então acho que você está seguro ao usá-lo.

Outras dicas

Estou com Bruce.Estou usando http://system.data.sqlite.org/ também com grande sucesso.Aqui está um exemplo de classe simples que criei:

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

Há também um Pacote NuGet:Sistema.Data.SQLite disponível.

Eu usei isso com grande sucesso:

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

Gratuito sem restrições.

(Nota da revisão:O site original não existe mais.O link acima tem um link apontando para o site 404 e contém todas as informações do original)

--Bruce

Há uma lista de wrappers Sqlite para .Net em http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.Pelo que ouvi http://sqlite.phxsoftware.com/ é muito bom.Este em particular permite acessar o Sqlite através do ADO.Net como qualquer outro banco de dados.

Agora também existe esta opção: http://code.google.com/p/csharp-sqlite/ - uma porta completa de SQLite para C#.

https://github.com/praeclarum/sqlite-net agora é provavelmente a melhor opção.

Outra maneira de usar o banco de dados SQLite no NET Framework é usar Fluente-NHibernate.
[É um módulo NET que envolve o NHibernate (módulo ORM - Object Relational Mapping) e permite configurar o NHibernate programaticamente (sem arquivos XML) com o padrão fluente.]

Aqui está uma breve descrição de 'Primeiros passos' de como fazer isso em C# passo a passo:

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

Inclui um código-fonte como um projeto do Visual Studio.

Mono vem com embalagem, use a deles!

https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 fornece código para agrupar a dll SQLite real ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip encontrado na página de download http://www.sqlite.org/download.html/ ) de uma forma amigável para .net.Funciona em Linux ou Windows.

Este parece o mais fino de todos os mundos, minimizando sua dependência de bibliotecas de terceiros.Se eu tivesse que fazer esse projeto do zero, seria assim que eu faria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top