эта функция в Android кажется не работает, кто-нибудь может дать мне объяснение? - PullRequest
0 голосов
/ 16 июня 2011
public long getDoneLength(int mixId, long startPos) {
    SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
    long doneLength = 0;
    Cursor cursor = db.rawQuery("select doneLength from fragment where mixId=? and startPos=?", new String[]{String.valueOf(mixId), String.valueOf(startPos)});
    while (cursor.moveToFirst()) {
        doneLength = cursor.getLong(0);
    }
    cursor.close();
    return doneLength;
}

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Это похоже на бесконечный цикл. Вы должны сделать if (cursor.moveToNext()) {...}, а не while.

0 голосов
/ 16 июня 2011

cursor.moveToFirst должен вызываться только один раз. Если вы хотите знать, если курсор пуст, используйте

cursor.isAfterLast() 

С уважением, Stéphane

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