私は Windows Phone 開発の初心者です。Android と iOS で開発されたアプリを開発する必要があります。Android と iOS で使用されていたのと同じ SQLite データベースを使用する必要があります。Windows phone で既存の SQLite データベースを使用することは可能ですか? はいの場合、どうすればいいですか?
質問する
1708 次
1 に答える
0
sqlite の基本的なセットアップについては、このリンクを使用してください
最初にデータベース ファイルをプロジェクトに追加し、そのプロパティを COPYALWAYS と "CONTENT" に変更し、ローカル フォルダーにコピーして、このように sqlite を使用してデータベースに接続します。
public static SQLiteAsyncConnection connection;
public static bool isDatabaseExisting;
public static async void ConnectToDB()
{
try
{
StorageFile storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync("DatabaseFinal.db");
isDatabaseExisting = true;
}
catch
{
isDatabaseExisting = false;
}
if (!isDatabaseExisting)
{
try
{
StorageFile databaseFile = await Package.Current.InstalledLocation.GetFileAsync("DatabaseFinal.db");
await databaseFile.CopyAsync(ApplicationData.Current.LocalFolder);
isDatabaseExisting = true;
}
catch
{
isDatabaseExisting = false;
}
}
if(isDatabaseExisting)
connection = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "DelhiMetroDatabaseFinal.db"), true);
}
}
}
これにより接続も作成され、データベースファイルからデータを取得するためにデータベースを使用するには、次のようなクエリを使用できます
public List<dataclass> getdata(string line_id, ref Boolean isdata)
{
List<datadataclass> query = new List<datadataclass>();
try
{
query = dal.connection.Table<dataclass>().Where(i => i._id == line_id).ToListAsync().Result;
isdataclass = true;
return query;
}
catch (NullReferenceException e)
{
isdataclass = false;
}
return query;
}
データクラスには、データベースで定義された列としてのプロパティがあります。
class dataclass
{
public string _id { get; set; }
public string name { get; set; }
public int location { get; set; }
}
于 2013-07-01T09:29:58.563 に答える