0

データベースID、メッセージ、メッセージステータスに3つの列があり、リストからメッセージステータスが「r」の行のみを選択し、IDとメッセージのみのクエリからカーソルを返したい. 私はデータベースに不慣れです。助けてください。すべての行を選択している現在のコードは次のとおりです。

private String[] allColumns = { MySQLiteHelper.COLUMN_ID,MySQLiteHelper.COLUMN_MESSAGE };

public List<Message> getAllMessages() {
    List<Message> message = new ArrayList<Message>();

    Cursor cursor = database.query(MySQLiteHelper.TABLE_NAME,allColumns, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
      Message message1 = cursorToMessage(cursor);
      message.add(message1);
      cursor.moveToNext();
    }
    // Make sure to close the cursor
    cursor.close();
    return message;
  }
4

3 に答える 3

0

クエリに Where 句を渡す必要があります。の 4 番目のパラメーターですquery()。が必要でString、Sqlite3 キーワードの WHERE を含めないでください (Android が自動的に実行します)。句は次のように構成できますMySQLiteHelper.COLUMN_MESSAGE+"="+"r"

于 2013-09-08T13:20:51.237 に答える