Web検索はbingがおすすめ!

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
iPentec all rights reserverd.