简体   繁体   English

SQLite错误WP8.1

[英]Sqlite error WP8.1

I'm developing Windows phone 8.1 app. 我正在开发Windows Phone 8.1应用程序。 I have problem with Sqlite database. 我有Sqlite数据库问题。 I created one, and made file. 我创建了一个,并制作了文件。 Now i want to use that file in my app, and get data from it. 现在我想在我的应用程序中使用该文件,并从中获取数据。

I did create like this: 我确实是这样创建的:

 SQLiteConnection.CreateFile(@"C:\ProbaProbe\MySql.sqlite");

 SQLiteConnection m_dbConnection;
        m_dbConnection = new SQLiteConnection("Data Source=C:\ProbaProbe\MySql.sqlite;Version=3;");
        m_dbConnection.Open();
        string sql = "create table highscores (name varchar(20), score int)";
        SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
        command.ExecuteNonQuery();

And i inserted some data with INSERT statment. 我用INSERT语句插入了一些数据。 That works nice. 很好 Now, when i want to use that MySql.sqlite in Windows Phone 8.1 app, i have problems. 现在,当我想在Windows Phone 8.1应用程序中使用该MySql.sqlite时,我遇到了问题。 I did this way: 我这样做:

 private async Task CopyDatabase()
    {
        string DB_PATH = Path.Combine(@"C:\ProbaProbe\MySql.sqlite");
        bool isDatabaseExisting = false;

        using (var db = new SQLite.SQLiteConnection(DB_PATH))
        {
            isDatabaseExisting = true;
            grad q = new grad();
            SQLiteCommand sqlComm = new SQLiteCommand(db);   
            string a = (db.Query<grad>("select * from grad")[0]).Ime;
        catch
        {
            isDatabaseExisting = false;
        }


    }

Problem is: Could not open database file: C:\\ProbaProbe\\MySql.sqlite (CannotOpen) 问题是:无法打开数据库文件:C:\\ ProbaProbe \\ MySql.sqlite(CannotOpen)

I think i'm missing something... Anyone? 我想我缺少了什么...有人吗? Thx 谢谢

You can't access system directories on Windows Phone. 您无法在Windows Phone上访问系统目录。 Applications on WP work in sandbox, so you can only access local storage available only for your application. WP上的应用程序在沙盒中工作,因此您只能访问仅适用于您的应用程序的本地存储。

You could use connection string like this ( Local database for Windows Phone 8 ): 您可以使用以下连接字符串( Windows Phone 8的本地数据库 ):

isostore:/MySql.sqlite

If you need to copy your database file into phone's or emulator's storage you could use Windows Power Tools . 如果您需要将数据库文件复制到手机或仿真器的存储中,则可以使用Windows Power Tools

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM