как подсчитать столбец - PullRequest
3 голосов
/ 12 мая 2010

Я бы хотел получить значение столбца Count из курсора.

public Cursor getRCount(String iplace) throws SQLException
{
 try {
      String strSql = "SELECT COUNT(_id) AS RCount FROM tbName WHERE place= '" + iplace + "'";            
      return db.rawQuery(strSql, null);
    } catch (SQLException e) {
        Log.e("Exception on query", e.toString());
        return null;
    }
} 

Я пытался получить значение этого столбца из курсора, как показано ниже

Cursor cR = mDbHelper.getRCount(cplace);if (cR.getCount() > 0){long lCount = cR.getLong(0);}cR.close();}

Я получил ошибку отладки. Как получить его?

PS: можно ли использовать вложенные курсоры?

Ответы [ 2 ]

9 голосов
/ 12 мая 2010

Вы должны использовать DatabaseUtils.longForQuery служебный метод для запуска запроса к БД и возврата значения в первом столбце первой строки.

int sometotal=DatabaseUtils.longForQuery(db,"SELECT COUNT(_id) AS RCount FROM tbName WHERE place= '" + iplace + "'",null);
0 голосов
/ 12 мая 2010

Cursor располагается перед первым рядом, когда вы вернете его из rawQuery(). Позвоните moveToFirst(), прежде чем пытаться использовать Cursor, и ваша проблема должна исчезнуть.

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