Как лучше всего подключиться и использовать базу данных sqlite из С#?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

Я делал это раньше на C++, включая sqlite.h, но есть ли такой же простой способ на C#?

Это было полезно?

Решение

Поставщик ADO.NET 2.0 для SQLite имеет более 200 загрузок каждый день, поэтому я думаю, что вы можете смело использовать его.

Другие советы

Я с Брюсом.Я использую http://system.data.sqlite.org/ тоже с большим успехом.Вот простой пример класса, который я создал:

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

Существует также Пакет NuGet:Система.Данные.SQLite доступный.

Я использовал это с большим успехом:

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

Бесплатно без ограничений.

(Примечание из обзора:Исходный сайт больше не существует.Приведенная выше ссылка содержит ссылку, указывающую на сайт 404, и содержит всю информацию оригинала)

--Брюс

Список оболочек Sqlite для .Net можно найти по адресу http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.Из того, что я слышал http://sqlite.phxsoftware.com/ это довольно хорошо.Этот конкретный позволяет получить доступ к Sqlite через ADO.Net, как и к любой другой базе данных.

Еще теперь есть такой вариант: http://code.google.com/p/csharp-sqlite/ — полный порт SQLite на C#.

https://github.com/praeclarum/sqlite-net сейчас это, пожалуй, лучший вариант.

Другой способ использования базы данных SQLite в NET Framework — использовать Fluent-NHibernate.
[Это модуль NET, который охватывает NHibernate (модуль ORM - реляционное сопоставление объектов) и позволяет настраивать NHibernate программно (без файлов XML) с помощью свободного шаблона.]

Вот краткое описание «Начало работы», как шаг за шагом сделать это на C#:

https://github.com/jagregory/fluent-nhibernate/wiki/Начало работы

Он включает исходный код в виде проекта Visual Studio.

Mono поставляется с оберткой, используйте их!

https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 дает код для переноса фактической dll SQLite ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip нашел на странице загрузки http://www.sqlite.org/download.html/ ) в .net-дружественной форме.Он работает в Linux или Windows.

Кажется, это самый тонкий из всех миров, сводящий к минимуму вашу зависимость от сторонних библиотек.Если бы мне пришлось делать этот проект с нуля, я бы сделал это именно так.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top