[C#-SQLite] System.Data.SQLite.dllのインストール
C#でSQLiteって使えるのかなと思い、調べてみたところあったので使ってみようと思います。 ただ、私はSQLiteを使った経験がなかったりします。 なので、今回 かずきのBlogさんのページを参考にしながらやってみようと思います。
インストール
以下のサイトから、最新のSQLite for ADO.NET 2.0をダウンロードします。 System.Data.SQLite 今回、私は SQLite-1.0.66.0-binaries.zip をダウンロードしました。 このzipを解凍すると、下記のファイルが展開されます。 解答したディレクトリがSQLiteライブラリのインストールディレクトリとなってしまうため先に移動するよう注意してください。
C:.
│ readme.htm
│
├─bin
│ │ System.Data.SQLite.DLL
│ │ System.Data.SQLite.exp
│ │ System.Data.SQLite.lib
│ │ System.Data.SQLite.Linq.dll
│ │ System.Data.SQLite.XML
│ │ test.exe
│ │ test.exe.config
│ │
│ ├─CompactFramework
│ │ SQLite.Interop.066.DLL
│ │ SQLite.Interop.066.exp
│ │ SQLite.Interop.066.lib
│ │ System.Data.SQLite.dll
│ │ testce.exe
│ │
│ ├─Designer
│ │ install.exe
│ │ install.exe.config
│ │ SQLite.Designer.dll
│ │
│ ├─itanium
│ │ System.Data.SQLite.DLL
│ │ System.Data.SQLite.exp
│ │ System.Data.SQLite.lib
│ │ test.exe
│ │ test.exe.config
│ │
│ ├─linq
│ │ northwindEF.db
│ │ testlinq.exe
│ │ testlinq.exe.config
│ │
│ ├─ManagedOnly
│ │ readme.txt
│ │ System.Data.SQLite.dll
│ │ System.Data.SQLite.XML
│ │ test.exe
│ │ test.exe.config
│ │
│ └─x64
│ System.Data.SQLite.DLL
│ System.Data.SQLite.exp
│ System.Data.SQLite.lib
│ test.exe
│ test.exe.config
│
└─Doc
SQLite.NET.chm
bin\Designer\install.exeを実行すると、以下のような画面が表示されるので、チェックをつけてCloseを押します。一瞬で終了するので、正常にインストールがされたのか不安になりますが、インストールは完了しています。
動作チェック
■新しいコンソールアプリケーションの作成 今回は、試しに「SQLiteTestConsole」なんて名前でプロジェクトを作成します。 ■参照を追加 System.Data.SQLite が参照可能になっているはずなのでそれを参照に追加します。 SQLite.Linqというのも追加されていますが、今回それスルーで。■テストコードを作成 今回は、とりあえず適当に。 test.db を作成、HOGEテーブルを存在し無い場合のみ作成、データの挿入、最後にテーブルに追加したデータを全件参照します。
using System; using System.Data.SQLite; namespace SQLiteTestConsole { class Program { static void Main(string[] args) { using (SQLiteConnection cnn = new SQLiteConnection("Data Source=test.db")) using (SQLiteCommand cmd = cnn.CreateCommand()) { Boolean tblExist = false; cnn.Open(); // テーブルの存在確認 cmd.CommandText = "SELECT * FROM sqlite_master WHERE type='table' AND name='HOGE';"; using (SQLiteDataReader reader = cmd.ExecuteReader()) { // レコードが取得されているかチェック while (reader.Read()) { tblExist = true; } } // テーブルが無い場合のみテーブルを作成 if (!tblExist) { // CREATE文の実行 cmd.CommandText = "CREATE TABLE HOGE (ID INTEGER PRIMARY KEY, MyValue NVARCHAR(256))"; cmd.ExecuteNonQuery(); } // INSERT文の実行 String str = args.Length == 0 ? "Hello World" : args[0].ToString(); cmd.CommandText = "INSERT INTO HOGE (MyValue) VALUES('" + str + "')"; cmd.ExecuteNonQuery(); // SELECT文の実行 cmd.CommandText = "SELECT * FROM HOGE"; using (SQLiteDataReader reader = cmd.ExecuteReader()) { // コンソールに結果を表示 while (reader.Read()) { Console.WriteLine(String.Format("ID = {0}, MyValue = {1}", reader[0], reader[1])); } } } } } }
■実行確認 引数に設定した値がtest.dbのHOGEテーブルに追加され、実行毎にとってくるレコードが増えていく事が確認できます。![]()
「SQL」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
作成日:2010年10月01日(Fri) / 更新日:2010年10月02日(Sat)