C# から sqlite データベースに接続して使用する最良の方法は何ですか?
質問
以前に C++ で sqlite.h をインクルードすることでこれを実行しましたが、C# でも同様の簡単な方法はありますか?
解決
SQLite 用 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 パッケージ:System.Data.SQLite 利用可能。
私はこれを使用して大成功を収めました:
http://system.data.sqlite.org/
制限なしで無料。
(レビューからのメモ:元のサイトはもう存在しません。上記のリンクには 404 サイトへのリンクがあり、オリジナルのすべての情報が含まれています)
--ブルース
.Net 用の Sqlite ラッパーのリストは次の場所にあります。 http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers. 。聞いた話によると http://sqlite.phxsoftware.com/ かなり良いです。この特定のものを使用すると、他のデータベースと同様に、ADO.Net を通じて Sqlite にアクセスできます。
次のオプションも追加されました。 http://code.google.com/p/csharp-sqlite/ - SQLite の C# への完全移植。
https://github.com/praeclarum/sqlite-net おそらく今では最良の選択肢でしょう。
NET Framework で SQLite データベースを使用する別の方法は、 Fluent-NHibernate.
[これは NHibernate (ORM モジュール - オブジェクト リレーショナル マッピング) をラップし、流暢なパターンで (XML ファイルなしで) NHibernate をプログラム的に設定できるようにする NET モジュールです。]
ここでは、C# でこれを実行する方法を段階的に説明した「はじめに」の簡単な説明を示します。
https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started
Visual Studio プロジェクトとしてソース コードが含まれています。
Mono にはラッパーが付属しているので、それを使用してください。
https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 実際の SQLite DLL をラップするコードを提供します ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip ダウンロードページにあります http://www.sqlite.org/download.html/ ) .net に優しい方法で。Linux または Windows 上で動作します。
これはすべての世界で最も薄いように見え、サードパーティのライブラリへの依存を最小限に抑えます。もし私がこのプロジェクトをゼロからやらなければならないとしたら、これが私ならそうする方法です。