“无法打开数据库文件”在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客户端,并且有同样的问题。 发生此问题是因为s​​qlite尝试在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

下一篇: Which ORM should I use for Expressjs and MySQL?