Was ist der beste Weg, zu verbinden und verwenden einer sqlite-Datenbank von C#

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe dies getan, bevor Sie in C++ durch, einschließlich sqlite.h aber gibt es eine ähnlich einfache Möglichkeit, in C#?

War es hilfreich?

Lösung

ADO.NET 2.0-Anbieter für SQLite über 200 downloads pro Tag, also denke ich, Sie sind sicher mit Sie, dass ein.

Andere Tipps

Ich bin mit Bruce.Ich BIN mit http://system.data.sqlite.org/ mit großem Erfolg als gut.Hier ist ein einfaches Beispiel zur Klasse, die ich erstellt:

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

Es ist auch eine NuGet-Paket:System.Daten.SQLite zur Verfügung.

Ich habe diese mit großem Erfolg:

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

Kostenlos mit keine Einschränkungen.

(Hinweis: aus Bewertung:Original-Seite nicht mehr existiert.Der obige link ist ein Verweis, der die 404-Seite und hat alle Infos, die das original)

--Bruce

Es gibt eine Liste von Sqlite-Wrapper für .Net http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.Von dem, was ich gehört habe http://sqlite.phxsoftware.com/ ist ganz gut.Dieser ermöglicht Ihnen den Zugriff auf Sqlite-durch ADO.Net wie jede andere Datenbank.

Es gibt nun auch diese option: http://code.google.com/p/csharp-sqlite/ - eine vollständige Portierung von SQLite in C#.

https://github.com/praeclarum/sqlite-net ist jetzt wahrscheinlich die beste option.

Ein weiterer Weg, der SQLite-Datenbank in NET-Framework zu verwenden Fluent-NHibernate.
[Es ist NET-Modul, welches umschlingt NHibernate (ORM-Modul - Objekt-Relationales Mapping) und ermöglicht das konfigurieren von NHibernate programmgesteuert (ohne XML-Dateien) mit der fluent-Muster.]

Hier ist die kurze 'Erste Schritte' Beschreibung, wie man dies in C# step by step:

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

Es enthält einen source-code als ein Visual Studio-Projekt.

Mono kommt mit einem wrapper, verwenden Sie die ihrigen!

https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 gibt code-wickeln Sie das eigentliche SQLite-dll ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip finden Sie auf der download-Seite http://www.sqlite.org/download.html/ ) in einem .net, freundlichen Art und Weise.Es funktioniert auf Linux oder Windows.

Dies scheint die flachste aller Welten ist, minimieren Sie Ihre Abhängigkeit von Bibliotheken von Drittanbietern.Wenn ich hatte, um dieses Projekt von Grund auf neu, dies ist die Art, wie ich es tun würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top