rksoftware

Visual Studio とか C# とかが好きです

.NET で SQLite を使う ( データベースファイルの作成 )

.NET で SQLite を使ってみます。

とりあえずデータの Select コードはこちら

データベースファイルを作成する。

今回はいわゆるコンソールアプリで作っています。ローカルマシン上で動くアプリです。となればデータベースファイルをどこに作るのか? といった戦略的な判断が必ず必要になってきます。
今回は、どうやったらどこに作れるのかを見てみます。

とりあえず作ってみる

using Microsoft.Data.Sqlite;
using (var connection = new SqliteConnection("Data Source=database.db"))
{
    connection.Open();
}

これで、exe ファイルと同じディレクトリに database.db ファイルが生まれます。

カレントディレクトリ

exe ファイルの隣に生まれるのは何故でしょう?
カレントディレクトリを変更してみます。

using Microsoft.Data.Sqlite;
using System;
using System.Data;

// 現在のカレントディレクトリの下に a というディレクトリを作る
var path = new System.IO.DirectoryInfo(System.IO.Path.Combine(Environment.CurrentDirectory, "a"));
if (!path.Exists) path.Create();

// カレントディレクトリを変更
Environment.CurrentDirectory = path.FullName;

// Data Source に a/ を追加
using (var connection = new SqliteConnection("Data Source=a/database.db"))
{
    connection.Open();
}

実行してみると、計画通り!
a というディレクトリの中にファイルが作られます。

ディレクトリを戻ってみる

using Microsoft.Data.Sqlite;

// ディレクトリを一つ戻ってみる
using (var connection = new SqliteConnection("Data Source=../database.db"))
{
    connection.Open();
}

実行してみると、計画通り!
exe ファイルの一つ上のディレクトリの中にファイルが作られます。

結論

SQLite 完全に理解しました。

今回の SQLite 記事に関連する記事のまとめ

データベース作って、テーブル作って、テーブル定義を読んで、データを Insert して、データを Select する記事です。