1

以前は「dowhile」ループがありましたが、現在は非常にうまく機能しています。今回は、「while」のみのループを機能させることができません。

|-----|-------|------|------|
|._id.|..INFO.|.DONE.|.LAST.|
|..1..|...A...|...N..|......|
|..2..|...B...|...Y..|..L...|<--- cursor.moveToFirst();
|..3..|...C...|...Y..|......|
|..4..|...D...|...Y..|......|
|..5..|...E...|...N..|......|
|..6..|...F...|...N..|......|
|-----|-------|------|------|

私のコードは次のとおりです。

cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME+" WHERE "+LAST+" LIKE '%L%'", null);
cursor.moveToFirst();
if (!cursor.getString(cursor.getColumnIndex(_id)).equals(Long.toString(rowcount)))
{
  while(!cursor.isLast())
  {
    cursor.moveToNext();
    Toast.makeText(context, "your message", Toast.LENGTH_LONG).show();
  }
}

ループに入ることがありません。トーストがポップアップしないので、これを知っています。なぜだろうと思っています。「for」ループを使用してこれを別の方法で行うこともできますが、このwhileループで何が間違っているのか疑問に思っています。

4

1 に答える 1

1

クエリは、LAST値が「L」である行のみをフェッチします。残りの行はフェッチされません。したがって、条件に達していません。

于 2012-09-04T13:57:52.253 に答える