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

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

25.08.2008 13:25:44
Это дубликат этого вопроса: stackoverflow.com/questions/93654/… и имеет другой ответ.
Stewart Johnson 24.09.2008 14:47:20
Flimzy 17.07.2017 09:26:05
8 ОТВЕТОВ
РЕШЕНИЕ

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

43
15.04.2014 05:25:31

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

6
25.08.2008 13:29:44

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

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

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

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

--Bruce

12
25.04.2013 21:35:45

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

5
7.08.2009 15:16:00

Я с Брюсом. Я использую 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 .

70
3.11.2017 19:31:14
"Источник данных = / путь / к / file.db; Новый = Ложь;" если вы не хотите каждый раз терять все свои данные и таблицы .
Fil 28.07.2017 12:08:51
он не работает в VS 2017. Он отображает следующую ошибку: Необработанное исключение: System.BadImageFormatException: Не удалось загрузить файл или сборку 'System.Data.SQLite, Версия = 1.0.79.0, Культура = нейтральная, PublicKeyToken = db937bc2d44ff139'. Была предпринята попытка загрузить программу с неверным форматом. at ConsoleApp1_del2.Program.Main (String [] args)
dE Source 28.12.2017 07:16:58

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

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

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

1
25.07.2012 22:35:19

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

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

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

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

3
2.05.2013 21:11:17

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

5
20.06.2013 14:15:54