Запись обновления базы данных Android не работает? - PullRequest
0 голосов
/ 06 марта 2012

Я создал базу данных.И открыл его:

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 голосов
/ 06 марта 2012

Когда вы запрашиваете базу данных, вы обычно получаете объект 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...