我是Windows手机开发的新手。我需要开发一个在Android和iOS中开发的应用程序。我需要使用Android和iOS中使用的相同SQLite数据库。是否可以在Windows Phone中使用现有的SQLite数据库?如果是的话怎么办?
答案 0 :(得分:0)
for basic setup of sqlite use this link
首先将数据库文件添加到项目并将其属性更改为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);
}
}
}
这也将创建您的连接,并且使用数据库从您的db文件中获取数据使用可以使用这样的查询
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; }
}