Sqlite错误WP8.1

时间:2015-04-29 11:01:44

标签: c# mysql .net sqlite windows-phone-8.1

我正在开发Windows phone 8.1应用。我有Sqlite数据库的问题。我创建了一个,并制作了文件。现在我想在我的应用程序中使用该文件,并从中获取数据。

我确实这样做了:

 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();

我用INSERT语句插入了一些数据。这很好用。 现在,当我想在Windows Phone 8.1应用程序中使用MySql.sqlite时,我遇到了问题。我这样做了:

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


    }

问题是: 无法打开数据库文件:C:\ ProbaProbe \ MySql.sqlite(CannotOpen)

我想我错过了什么...... 任何人? THX

1 个答案:

答案 0 :(得分:0)

您无法访问Windows Phone上的系统目录。 WP上的应用程序在沙箱中工作,因此您只能访问仅适用于您的应用程序的本地存储。

您可以使用这样的连接字符串(Local database for Windows Phone 8):

isostore:/MySql.sqlite

如果您需要将数据库文件复制到手机或模拟器的存储空间,可以使用Windows Power Tools