コラム

C# SQLiteでデータベース実装~その2~

コラム

前回記事からの続きからです。

 

今回はコマンドラインツールで作成したデータベースファイルへC#からアクセスし、データを抽出します。

コマンドラインツールでデータベース作成

前回のおさらいになりますが、コマンドラインツールで以下コマンドを実行しデータベースファイルを作成します。

> sqlite3 sample.sqlite3
SQLite version x.xx.x xxxx-xx-xx xx:xx:xx
Enter “.help” for usage hints.
sqlite> CREATE TABLE t_sample(id, data);

そのままデータもINSERTで追加して接続を終了します。

sqlite> INSERT INTO t_sample (id, data) VALUES (1, ‘data01’);
sqlite> INSERT INTO t_sample (id, data) VALUES (2, ‘data02’);
sqlite> INSERT INTO t_sample (id, data) VALUES (3, ‘data03’);
sqlite> .exit

パッケージのインストール

C#でSQLiteを操作するためにパッケージをインストールします。
導入するソリューションを作成するか、既存のソリューションを開いてください。

VisualStudioが立ち上がったら

「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージの管理」

を選択し管理画面を開きます。

検索窓へ「SQLite」を入力し、参照タブへ移動します。
すると多数の検索結果が表示されますが、今回は必要最低限の機能のみ使用しますので、

「System.Data.SQLite.Core」

をインストールしてください。

プログラムでデータ抽出

パッケージのインストールが完了したら、実際にデータを取得してみます。
以下のコードを実行すると、作成したデータベースファイルへ接続し、データが抽出されます。

//データベースのファイルパスを指定
var constr =new SQLiteConnectionStringBuilder {DataSource = "sample.sqlite3" };
using (var cn = new SQLiteConnection(constr.ToString()))
{
    //データベースへ接続
    cn.Open();
    cmd = new SQLiteCommand(cn))
    {
        //データ抽出
        cmd.CommandText = $"SELECT * FROM  t_sample";
        using (var reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(reader.GetValues().Get("data"));
            }
        }
    }
}
//実行結果
//data01
//data02
//data03

最後に

データベースの作成~コーディングの実装まで比較的簡単に行えました。
まだまだ使っていない機能もたくさんありますので、今後も勉強しながら使っていこうと思います。

タイトルとURLをコピーしました