【C#】sqlite-net-pclでテーブルに登録されたデータを更新する方法

この記事では登録済みのテーブルに対して、データを更新して再登録する処理を解説します。SQLite はアプリケーションに対して手軽に DB を組み込めるので便利ですが、さらに sqlite-net-pcl を使用することで、より手軽になることで使い勝手が非常に良いです。簡単なアプリケーションを構築する際に重宝します。

sqlite-net-pcl でデータを更新する方法

sqlite-net-pcl を使用してテーブルに格納されているデータを更新する際には、sql-net-pcl にて定義されている以下のメソッドを利用することで処理できます。

public int Update(object obj);

定義を確認すると以下のようにコメントが「Updates all of the columns of a table using the specified object except for itsprimary key. The object is required to have a primary key.」と記載されています。

「指定したオブジェクトのプライマリーキー以外を更新します。更新対象となるオブジェクトにはプライマリーキーが必要です」と要約できます。要するにプライマリーキー以外を更新してくれる、ということです(プライマリーキーを更新してしまうとデータが一意にならない)。

また Update メソッドの戻り値が int 型ですが、これは更新された行するが返却されてくることになります。1行更新できたら1が返却されてくるということです。また、要約にも記載してますが更新対象のオブジェクトにはプライマリーキーが設定されている必要があるため、プライマリーキーの存在チェックは必ず行っておきましょう。

using (var connection = new SQLiteConnection("DBのパス")) 
{ 
    connection.CreateTable<Item>();   
    var updateRow = connection.Update(this.item); 
    if(updateRow <= 0) 
    { 
        Console.WriteLine("更新失敗"); 
    }
}

上記のようにすることで更新処理を行うことができます。テーブルの作成・データの登録・更新など、その他に sqlite-net-pcl の使い方を確認したい場合はタグの「sqlite-net-pcl」をチェックしてみると良いでしょう。