Проверьте, существует ли значение в БД - PullRequest
1 голос
/ 26 декабря 2010

Я пытаюсь проверить, существует ли введенное пользователем имя пользователя в БД.

public Cursor checkUsername(String username) throws SQLException {
    Cursor mCursor = db.query(true, TABLE_USERS, new String[] { ID,
            KEY_NAME, KEY_USERNAME}, KEY_USERNAME + "="
            + username, null, null, null, null, null);
    if (mCursor != null) {
        return true;
    }
    return false;
}

Когда я возвращаю true или false, я получаю сообщение об ошибке, сообщающее

Type mismatch: cannot convert from boolean to Cursor

я просто хочу вернуть true или false из DBAdaptor обратно в Activity.

Ответы [ 2 ]

4 голосов
/ 26 декабря 2010

Ваша функция возвращает курсор

public Cursor checkUsername()

Либо измените его, чтобы он возвращал логическое значение, либо верните курсор.

0 голосов
/ 26 декабря 2010

Попробуйте переформатировать ваш SQL-запрос и укажите предложение 'where' в качестве одного из параметров в вызове базы данных:

public Cursor getRoute(long rowIndex)
{
    String where = KEY_ID + "=" + rowIndex;
    return db.query(TBL_ROUTES, null, where, null, null, null, null);       
}

Кроме того, не забудьте закрыть курсор, когда закончите с ним, в противном случае вы получите другие исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...