我试图在Windows Phone 8.1上打开一个数据库文件(foo.db)。在使用SQLite-Net插件时,我得到了以下SQLiteException:无法打开数据库文件:foo.db(CannotOpen)。
以下是代码:
public Db(ISQLiteConnectionFactory factory)
{
try
{
const string fileName = "foo.db";
StorageFolder folder = ApplicationData.Current.LocalFolder;
using(this.connection = factory.Create(Path.Combine(folder.Path, fileName)))
{
//Do SOME STUFF
}
}
catch (Exception ex)
{
//SQLiteException: Could not open database file: foo.db (CannotOpen).
}
}
我已经验证了该文件的路径。如果我删除社区插件并使用SQLite-net,则不会发生异常。
哪里出错?
感谢。
答案 0 :(得分:0)
我不知道它是否有帮助,但这就是我如何处理这个问题。
我在PlatformSpecific项目中创建了ISQLiteConnection,并将其注册为IOC的类型:
Mvx.RegisterType<ISQLiteConnection>(() => new SQLiteConnection(fullPathtoDbFile));
然后,在我的核心(PCL)项目中,我正在解决它:
public ISQLiteConnection GetConnection()
{
if (_con == null)
{
_con = Mvx.Resolve<ISQLiteConnection>(); ;
}
return _con;
}