我是 Windows Phone 开发的新手。我需要开发一个在 Android 和 iOS 中开发的应用程序。我需要使用与 Android 和 iOS 相同的 SQLite 数据库。是否可以在 windows phone 中使用现有的 SQLite 数据库?如果是的话怎么办?
问问题
1708 次
1 回答
0
首先将数据库文件添加到项目并将其属性更改为 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 回答