我创建了一个数据库。打开它:
public SQLiteDatabase open() {
String path = "/data/data/com.develop.assetcapture/databases/Asset_Directory";
db = SQLiteDatabase.openOrCreateDatabase(path, null);
return db;
}
我正在编写用户注册以及让他们重置密码的内容。
我插入新记录或查询数据库没有问题。但是,在我的resetPassword(username,password)
方法中,我收到一条错误消息:
android.database.sqlite.DatabaseObjectNotClosedException:
Application did not close the cursor or database object that was opened here
请帮忙,我已经坚持了很长时间。
答案 0 :(得分:0)
查询数据库时,通常会收到Cursor对象。这是一个例子:
public Cursor querySomething() {
final String whereClause = ...
final String[] params = ...
final Cursor c = this.getReadableDatabase().query(
Table.TABLE_NAME,
Table.allColumnNames(),
whereClause,
params, // parameters for where clause
null, // group
null, // having
null); // order
return c;
}
使用光标c可以访问答案中的行。处理完答案后,必须关闭光标对象:
c.close();