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

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

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

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

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: ansible System.Data.SQLite .

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

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

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

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

–Bruce

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

Также есть этот параметр: 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/Getting-started

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

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

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.

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

  • Как использовать регулярное выражение в SQLite-запросе?
  • Как импортировать файл .sql или .csv в SQLite?
  • Android SimpleCursorAdapter не обновляется при изменении базы данных
  • ALTER COLUMN в sqlite
  • Создание базы данных SQLite в android
  • ALTER TABLE ADD COLUMN, ЕСЛИ НЕ СУЩЕСТВУЕТ В SQLite
  • Как сохранить (bitmap) и получить изображение из базы данных sqlite в android?
  • SQLite эквивалент ISNULL (), NVL (), IFNULL () или COALESCE ()
  • Папка «данные» Android-устройства «Монитор» пуста
  • Как вы применяете ограничения внешнего ключа в SQLite через Java?
  • Core Data и SQLite для опытных разработчиков SQL
  • Interesting Posts

    Не используйте опцию «Безопасное удаление» в лотке для устройств хранения USB

    URI «clr-namespace» относится к пространству имен, которое не входит в сборку

    Есть ли причина использовать ключевое слово auto для C ++ 03?

    Spring JSF-интеграция: как внедрить компонент Spring / службу в управляемый bean-компонент JSF?

    Как использовать Assert для проверки того, что было выбрано исключение?

    Не удалось загрузить общую библиотеку JNI при запуске Eclipse

    Как я могу легко сравнивать C-код?

    Что произойдет с SharedPreferences при обновлении приложения для Android?

    setValue: forUndefinedKey: этот class не является ключевым значением, совместимым с кодировкой для ключа

    Странная ошибка «406 неприемлема»

    Передача переменных в другую функцию, которая принимает список переменных аргументов

    Существуют ли особые технические соображения, которые могут нанести ущерб компьютеру в режиме сна каждый раз?

    Windows 10 Black Screen с рабочим курсором после входа в систему

    Найти все элементы на странице, чей идентификатор элемента содержит определенный текст, используя jQuery

    Как использовать Twitter Bootstrap popovers для уведомлений о проверке jQuery?

    Давайте будем гением компьютера.