C# – the best way to connect and use a sqlite database from C#


I've done this before in C++ by including sqlite.h but is there a similarly easy way in C#?

Best Solution

I'm with, Bruce. I AM using http://system.data.sqlite.org/ with great success as well. Here's a simple class example that I created:

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();

                    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.
              return dt;

There is also an NuGet package: System.Data.SQLite available.