Consider the following code snippet: String[] result_columns =

4 phương ánCó giải thích
Đề bài
new String[] {
  KEY_ID, COL1, COL2
}

; Cursor allRows =

Đề bài
myDatabase.query(true, DATABASE_TABLE, result_columns, null, null, null, null, null, null);

Which of the following prints out the values of COL1 column correctly if the result is not empty?

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở

Để in ra giá trị của cột COL1 trong kết quả không trống, chúng ta cần sử dụng phương thức getString() với chỉ số vị trí cột trong mảng result_columns. Trong trường hợp này, COL1 nằm ở vị trí thứ 1 trong mảng, vì KEY_ID và COL1 được đặt trước COL2. Do đó, chúng ta cần sử dụng chỉ số 1 trong phương thức getString(). Ngoài ra, chúng ta cần kiểm tra xem con trỏ của Cursor đã được đặt vào vị trí đầu tiên hay chưa bằng phương thức moveToFirst(). Nếu đã được đặt vào vị trí đầu tiên, chúng ta mới có thể bắt đầu lặp qua các hàng trong kết quả bằng phương thức do-while. Vì vậy, câu trả lời đúng là:

Lời giải
if (cursor.moveToFirst()) {
  do {
    System.out.println(cursor.getString(1));
  }
  while (cursor.moveToNext());
}

Cùng chương 6