Сведения о вопросе

Ислам

03:55, 21st August, 2020

Теги

c#   sqlite    

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

Просмотров: 529   Ответов: 8

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



  Сведения об ответе

LAST

22:37, 7th August, 2020

Я с тобой, Брюс. Я также использую 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: System.Data.SQLite доступно.


  Сведения об ответе

9090

02:40, 24th August, 2020

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


  Сведения об ответе

fo_I_K

19:41, 27th August, 2020

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

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

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

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

--Брюс


  Сведения об ответе

LIZA

20:11, 18th August, 2020

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


  Сведения об ответе

pumpa

08:41, 8th August, 2020

Теперь также есть такая опция: http://code.google.com/p/csharp-sqlite/ - полный порт от SQLite до C#.


  Сведения об ответе

P_S_S

06:42, 23rd August, 2020

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


  Сведения об ответе

darknet

02:48, 29th August, 2020

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

Вот краткое описание 'Getting started', как это сделать в C# шаг за шагом:

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

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


  Сведения об ответе

dumai

21:55, 22nd August, 2020

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

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться