SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Đưa dữ liệu con trỏ vào một mảng

names.add(cursor.getString(i));

"i" không phải là chỉ số hàng của con trỏ, mà là chỉ số cột. Một con trỏ đã được định vị đến một hàng cụ thể. Nếu bạn cần định vị lại con trỏ của mình. Sử dụng cursor.move hoặc moveToXXXX (xem tài liệu).

Đối với getString / Int / Long, v.v. bạn chỉ cần cho con trỏ biết cột nào bạn muốn. Nếu bạn không biết columnIndex, bạn có thể sử dụng cursor.getColumnIndex("yourColumnName") .

Vòng lặp của bạn sẽ giống như sau:

public String[] getContacts(){
    Cursor cursor = getReadableDatabase().rawQuery("SELECT name FROM contacts", null);
    cursor.moveToFirst();
    ArrayList<String> names = new ArrayList<String>();
    while(!cursor.isAfterLast()) {
        names.add(cursor.getString(cursor.getColumnIndex("name")));
        cursor.moveToNext();
    }
    cursor.close();
    return names.toArray(new String[names.size()]);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không hài lòngLinkError trong phương pháp gốc

  2. khởi tạo cơ sở dữ liệu sqlite android

  3. Tính số giây kể từ một ngày / giờ cụ thể trong SQLite

  4. java.util.MissingFormatArgumentException:Định dạng chỉ định:s

  5. Null Pointer Exception khi gọi getReadableDatabase ()