检查DB中是否存在值

时间:2010-12-26 06:29:38

标签: android database

我正在尝试检查用户输入的用户名是否存在于数据库中。

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

我只想将DBAdaptor中的true或false返回给Activity。

2 个答案:

答案 0 :(得分:4)

您的函数返回一个Cursor

public Cursor checkUsername()

更改它以返回布尔值,或返回光标。

答案 1 :(得分:0)

尝试重新格式化您的sql查询并提供'where'子句作为数据库调用中的参数之一:

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

另外,请记住在完成光标后关闭光标,否则会出现其他异常。