LiteDB のコレクション(テーブル)からレコードを削除する - C#
LiteDB のデータベース、コレクション(テーブル)からレコードを削除するコードを紹介します。
事前準備
こちらの記事のプログラムを作成し、データベースを作成し、レコードを挿入します。
プログラム例
UI
下図のフォームを作成します。ボタン5つ配置されていますが、今回は[button4]と[button5]を利用します。
コード
using LiteDB;
namespace OperateDB
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
LiteDatabase ldb = new LiteDatabase("MyDB.db");
ILiteCollection<MyRecord> cl = ldb.GetCollection<MyRecord>("my_table");
ILiteQueryable<MyRecord> result = cl.Query();
List<MyRecord> mlist = result.ToList();
foreach (MyRecord m in mlist) {
textBox1.Text += string.Format("{0:d} {1} {2} {3:d}\r\n", m.id, m.Name, m.Code, m.Price);
}
ldb.Dispose();
}
private void button5_Click(object sender, EventArgs e)
{
LiteDatabase ldb = new LiteDatabase("MyDB.db");
ILiteCollection<MyRecord> cl = ldb.GetCollection<MyRecord>("my_table");
cl.Delete(3);
ILiteQueryable<MyRecord> result = cl.Query();
List<MyRecord> mlist = result.ToList();
foreach (MyRecord m in mlist) {
textBox1.Text += string.Format("{0:d} {1} {2} {3:d}\r\n", m.id, m.Name, m.Code, m.Price);
}
ldb.Dispose();
}
}
}
解説
button4はデータベースのファイルを開き、すべてのレコードを取得してテキストボックスに表示するコードです。
button5は以下のコードでデータベースのファイルを開き、コレクションオブジェクトを取得します。
LiteDatabase ldb = new LiteDatabase("MyDB.db");
ILiteCollection<MyRecord> cl = ldb.GetCollection<MyRecord>("my_table");
コレクションオブジェクトの、Delete メソッドを呼び出して、レコードを削除します。Deleteメソッドの第一引数に削除したいレコードのidの値を与えます。
下記コードでは id=3 のレコードを削除します。
cl.Delete(3);
コレクションのレコードをすべて取得し、テキストボックスに表示します。
ILiteQueryable<MyRecord> result = cl.Query();
List<MyRecord> mlist = result.ToList();
foreach (MyRecord m in mlist) {
textBox1.Text += string.Format("{0:d} {1} {2} {3:d}\r\n", m.id, m.Name, m.Code, m.Price);
}
ldb.Dispose();
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。
[button4]をクリックします。データベースのレコードが表示されます。4つのレコードが表示されます。
[button5]をクリックします。id=3のレコードを削除したのち、すべてのレコードを表示します。
テキストボックスに表示されるレコード数が3つになります。id=3のレコードが削除されたことが確認できます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2022-11-23
作成日: 2022-11-22