既存のsqliteファイルからデータを取得またはオープンするにはどうすればよいですか?アセットフォルダにkamus.sqliteという名前のsqliteファイルがあります。既存のSQLファイルを取得または読み取る - C#
データベースには、id、word、translationという列があります。リストビューに単語と翻訳カラムを表示したい。
既存のsqliteファイルからデータを取得またはオープンするにはどうすればよいですか?アセットフォルダにkamus.sqliteという名前のsqliteファイルがあります。既存のSQLファイルを取得または読み取る - C#
データベースには、id、word、translationという列があります。リストビューに単語と翻訳カラムを表示したい。
UWPでSQLiteを使用するには、いくつかのラッパーライブラリを使用する必要があります。
この記事を読む:
Using SQLite on the Universal Windows Platform
それは作品です。しかし、ライブラリ名だけが変更されます。 SQLite Download PageからUniversal Windows Platform用のVSIXパッケージをダウンロードしてください。
そして、あなたはSQLite.Net-PCL
ラッパーNuGetからインストールすることができますそれとも、Portable Class Library for SQLiteを使用することができます参照パッケージをインストールして追加した後。私はこのライブラリを使用しました。ここでは、テーブルを作成する方法を簡単な例である:
using SQLitePCL;
using (var conn = new SQLiteConnection("Storage.db"))
{
string sql = @"CREATE TABLE IF NOT EXISTS People (
ID INTEGER NOT NULL PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHUAR(50));";
using (var statement = conn.Prepare(sql))
{
statement.Step();
}
}
クエリを実行レコードを挿入するには:
using (var statement = conn.Prepare("INSERT INTO People (FirstName, LastName) VALUES ('John', 'Doe')"))
{
statement.Step();
}
か、のparams使用することができます。
:行を読み取るにはusing (var statement = conn.Prepare("INSERT INTO People (FirstName, LastName) VALUES (?, ?)"))
{
statement.Bind(1, "John");
statement.Bind(2, "Doe");
statement.Step();
}
を
List<string> column=new List<string>();
using (var statement = conn.Prepare("SELECT LastName, FirstName FROM People WHERE FirstName='John'"))
{
while (statement.Step() == SQLiteResult.ROW)
{
// here you can add value into collection for example
column.Add(statement[0]); // statement[0] - is value of first column
}
}
ここでは、 sqlite-net-pcl NuGetパッケージ:
パッケージをプロジェクトにインストールします。
Install-Package sqlite-net-pcl
データベースのテーブルに対応するクラスを作成します。リストに
// the name of the class must match the name of your database table
// the names of properties must match your column names
public class Localization
{
[PrimaryKey]
public int Id { get; set; }
public string Word { get; set; }
public string Translation { get; set; }
}
ロードテーブルからすべてのデータ:
using (var connection = new SQLiteConnection(Path.Combine(Package.Current.InstalledLocation.Path, @"Assets\kamus.sqlite")))
{
var records = connection.Table<Localization>().ToList();
}
を必要に応じて、リストを使用します例えばそれをListView
に結びつけてください。
しかし、そのサンプルはそのSQLを作成し、ローカルパッケージに格納されています。私が必要なのは、ソリューションの資産フォルダにsqliteを読み込んでいます。 – Rose
この場合、@ Damir-arhの例のようにPathをPath.Combine(Package.Current.InstalledLocation.Path、@ "Assets \ Storage.db")に変更するだけです。 –
データベース内の既存のテーブルはどのように取るのですか?そのサンプルでは、新しいテーブルを作成するためです。 – Rose