SQLiteとは
アプリケーションで利用するデータベースです。
アプリケーション側でデータを保持する方法は色々ありますが、大量のデータをアプリケーション側で保持したいという場合はSQLiteがおすすめです。
SQLでクエリを飛ばすことができるため、通常のデータベースとやり取りする感覚で利用できます。
入手方法
名称 | バージョン |
---|---|
入手場所 | Nuget |
ライセンス | パブリックドメイン |
実装例
test.dbを作成し、hogeテーブルを構築します。
事前作業
Nugetからダウンロードしてプロジェクトにインポートする。
環境
名称 | バージョン |
---|---|
フレームワーク | WPF |
.NetFramework | v4.6 |
SQLite | 1.0.112.0 |
実装コード
・CSファイル
using System;
using System.Windows;
using System.Data.SQLite;
namespace TestApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void button1_Click(object sender, RoutedEventArgs e)
{
VarCheck();
try{
using (var connection = new SQLiteConnection("DATA Source=test.db"))
{
connection.Open();
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = "create table hoge(id INTEGER PRIMARY KEY AUTOINCREMENT, field1 TEXT, field2 REAL, field3 BLOB)";
command.ExecuteNonQuery();
}
connection.Close();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public void VarCheck()
{
var sqlConnectionSb = new SQLiteConnectionStringBuilder { DataSource = ":memory:" };
using (var cn = new SQLiteConnection(sqlConnectionSb.ToString()))
{
cn.Open();
using (var cmd = new SQLiteCommand(cn))
{
cmd.CommandText = "select sqlite_version()";
Console.WriteLine(cmd.ExecuteScalar());
}
}
}
}
}
・XAMLファイル
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF1" Height="300" Width="300">
<Grid>
<Button
Name="button1"
Click="button1_Click"
Height="30"
Content="Click me!"/>
</Grid>
</Window>
最後に
あくまで保持データが多い場合やSQLで管理したい場合に使うライブラリです。プログラムの軽量化を考えた場合、できるだけ外部ライブラリはインポートしないに越したことはないので、設定ファイルを保持するだけなら、iniやxmlで管理しましょう。