我正在开发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
答案 0 :(得分:0)
您无法访问Windows Phone上的系统目录。 WP上的应用程序在沙箱中工作,因此您只能访问仅适用于您的应用程序的本地存储。
您可以使用这样的连接字符串(Local database for Windows Phone 8):
isostore:/MySql.sqlite
如果您需要将数据库文件复制到手机或模拟器的存储空间,可以使用Windows Power Tools。