它可以在Windows Phone中使用现有的SQLite数据库吗?

时间:2013-07-01 06:58:57

标签: database sqlite windows-phone-7 windows-phone-8

我是Windows手机开发的新手。我需要开发一个在Android和iOS中开发的应用程序。我需要使用Android和iOS中使用的相同SQLite数据库。是否可以在Windows Phone中使用现有的SQLite数据库?如果是的话怎么办?

1 个答案:

答案 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; }
}