“无法打开数据库文件”在Windows Phone 7上使用SQLite
我为Windows Phone 7(http://sqlitewindowsphone.codeplex.com/)使用SQLite,并且已经完成了本教程中的所有步骤(http://dotnetslackers.com/articles/silverlight/Windows-Phone-7-Native-数据库编程,通过-SQLite的客户端换Windows的Phone.aspx)
然后,我尝试使用select和delete等基本功能进行一些简单的应用。 应用程序正常工作,直到我想进行这项操作之一。 当我点击选择或删除后,编译器向我显示他无法打开数据库文件的错误...
我不知道为什么?
我使用了相同的Sqlite客户端,并且有同样的问题。 发生此问题是因为sqlite尝试在IsolatedFileStorage“DatabaseName.sqlite-journal”中创建文件,并且它没有足够的权限。 我解决了这个问题,因此在将数据库复制到IsolatedFileStorage之前创建了“DatabaseName.sqlite-journal”。 这是我做的方法:
private void CopyFromContentToStorage(String assemblyName, String dbName)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
string uri = dbName + "-journal";
store.CreateFile(uri);
using (Stream input = Application.GetResourceStream(new Uri("/" + assemblyName + ";component/" + dbName,UriKind.Relative)).Stream)
{
IsolatedStorageFileStream dest = new IsolatedStorageFileStream(dbName, FileMode.OpenOrCreate, FileAccess.Write, store);
input.Position = 0;
CopyStream(input, dest);
dest.Flush();
dest.Close();
dest.Dispose();
}
}
它帮助了我,并且运作良好。
希望对你有帮助
你确定这个文件存在吗? 你可以这样检查:
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
exists = store.FileExists(DbfileName);
}
链接地址: http://www.djcxy.com/p/95985.html
上一篇: "Unable to open database file" using SQLite on Windows Phone 7