Android数据库更新记录不起作用?

时间:2012-03-06 12:39:14

标签: android sqlite

我创建了一个数据库。打开它:

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

请帮忙,我已经坚持了很长时间。

1 个答案:

答案 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();