手軽にアプリケーションに DB を組み込める SQLite をより簡単に使うためのフレームワーク sqlite-net-pcl を使ってテーブルからデータを取得する方法を解説します。
sqlite-net-pcl は SQL を書くことなく DB を操作できるので、簡単なアプリケーションを作成する際に重宝します。「sqlite-net-pclで新規のテーブルを作成する方法」では、sqlite-net-pclを使用して、テーブルを新規で作成する方法を解説しているので、まずはこちらの記事をチェックしてみても良いでしょう。
sqlite-net-pcl でデータを取得する方法
データを取得するにはコネクションをインスタンス化しておき、テーブルを指定してデータを取得する方法になります。コネクションのインスタンス化は「sqlite-net-pclでコネクションをインスタンス化する方法」で解説しているので、あわせてチェックしてみてもよいでしょう。
using (var connection = new SQLiteConnection("DBのパス"))
{
connection.CreateTable<Item>();
var datalist = connection.Table<Item>().ToList();
}
サンプルコードは上記のようになります。 CreateTable メソッドについては「sqlite-net-pclで新規のテーブルを作成する方法」にて解説しています。ファイルが既に存在する場合は処理をしないので、おまじないのように処理を入れています。
データを主即する際には connection.Table<Item>() を使用することで、Item テーブルに格納されたデータを取得してくれます。この後にテーブルデータを絞り込む場合は、「connection.Table()」の後に続いてWhere句をチェーンすることで可能です。
using (var connection = new SQLiteConnection("DBのパス"))
{
connection.CreateTable<Item>();
var datalist = connection.Table<Item>()
.Where(x => x.Id > 10)
.ToList();
}
上記のようにすることで、Itemテーブルに格納されたデータのうち、Id が 10 より大きいデータのみを取得することが可能となります。取得したいデータに応じて処理を追加するようにしましょう。