ما هي أفضل طريقة للاتصال تستخدم قاعدة بيانات sqlite من C#

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

  •  09-06-2019
  •  | 
  •  

سؤال

لقد فعلت هذا من قبل في C++ من قبل بما في ذلك سكليتي.ح ولكن هناك وبالمثل طريقة سهلة في C# ؟

هل كانت مفيدة؟

المحلول

ADO.NET 2.0 مزود سكليتي لديها أكثر من 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 الحزمة:النظام.البيانات.سكليتي المتاحة.

لقد استعملت هذه مع نجاح كبير:

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

مجانا مع أي قيود.

(ملاحظة من الاستعراض:الموقع الأصلي لم يعد موجودا.الرابط أعلاه رابط مشيرا 404 الموقع لديه كل المعلومات الأصلية)

--بروس

هناك قائمة من سكليتي wrappers .صافي في http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.من ما سمعت http://sqlite.phxsoftware.com/ هو جيد جدا.هذا يتيح لك الوصول إلى Sqlite من خلال ADO.Net تماما مثل أي قاعدة بيانات أخرى.

هناك أيضا الآن هذا الخيار: http://code.google.com/p/csharp-sqlite/ - منفذ كاملة من سكليتي إلى C#.

https://github.com/praeclarum/sqlite-net هو الآن على الأرجح أفضل خيار.

وهناك طريقة أخرى باستخدام قاعدة بيانات SQLite في NET Framework هو استخدام بطلاقة-NHibernate.
[هو صافي الوحدة الذي يلتف حول NHibernate (ORM وحدة - Object Relational Mapping) و يسمح لتكوين 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 ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip الاطلاع على صفحة التحميل http://www.sqlite.org/download.html/ ) في .صافي بطريقة ودية.يعمل على لينكس أو ويندوز.

هذا يبدو أنحف من جميع العالمين ، والتقليل من الاعتماد على طرف ثالث المكتبات.إذا كان علي أن أفعل هذا المشروع من الصفر, هذه هي الطريقة التي أود أن تفعل ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top