我想打开或创建(如果不存在)数据库文件,但是当我尝试创建SQLiteConnection类的新实例时,它会抛出一个错误代码为30的异常(misuse)amd不能打开数据库文件。
这是我的代码:
class DatabaseOpen
{
protected SQLiteConnection db;
... // Here are another attributes of the class, which is not relevant to the database connection.
public DatabaseOpen(String filename="noNameFree") // String filename = "noNameFree"
{
String dbPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
dbPath = Path.Combine(dbPath, filename+".db3");
Java.IO.File dbFile = Application.Context.GetDatabasePath(dbPath);
dbFile.Mkdirs();
var dbObject = new SQLiteConnection(dbPath);
db = dbObject;
}
... // Here are the other methods of the class which is not relevant to the database connection.
}
在上面的代码中,dbPath
变量被设置为以下路径:
/data/data/<AppName>.<AppName>/files/noNameFree.db3
我不知道自己错了什么。我希望有人看到代码的问题。
答案 0 :(得分:0)
我将我的应用程序从SD卡移动到内部存储,然后它就可以运行了。之后我把它移回我的SD卡,它仍在工作。我认为在部署Visual Studio时没有将它安装到正确的位置。
注意: 我认为在这种情况下SQLite.Net不会抛出MISUSE异常。我将向开发人员提出一个相关问题。