Cursor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Cursor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Kasım 2017 Çarşamba

Cursor Sınıfı

constructor
SQLiteDatabase sınıfının rawQuery() metodu bu sınıfı döndürür. İçerdiği değerlere sütun sütun erişiriz. Şöyle yaparız.
String selectQuery = "SELECT  * FROM ...";
SQLiteDatabase db = ...;
Cursor cursor = db.rawQuery(selectQuery, null);
close metodu
Ger cursor mutlaka kapatılmak zorundadır. Şöyle yaparız.
cursor.close();
getBlob metodu
Sütuna byte[] olarak erişmemizi sağlar. Şöyle yaparız.
byte[] image = cursor.getBlob(0);
getColumnIndex metodu
Belirtilen string'in hangi sütunda olduğunu döndürür. Şöyle yaparız.
cursor.getColumnIndex("country_name")
getColumnIndexOrThrow metodu
Belirtilen string'in hangi sütunda olduğunu döndürür veya exception atar. Şöyle yaparız.
int index = cursor.getColumnIndexOrThrow("country_name");
getCount metodu
Şöyle yaparız.
if(cursor.getCount() > 0) {...}
getInt metodu
Belirtilen sütun değerine string olarak erişmemizi sağlar. Şöyle yaparız.
cursor.getInt(0)
getString metodu
Belirtilen sütun değerine string olarak erişmemizi sağlar. Şöyle yaparız.
cursor.getString(1)
isAfterLast metodu
Şöyle yaparız.
Cursor cursor = ...;
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
  ...
  cursor.moveToNext();
}
moveToFirst metodu
Cursor ilk satıra getirilir. Şöyle yaparız.
Cursor cursor = ...
if (cursor.moveToFirst()) {...}
Eğer sorgu sonucu boş ise cursor nesnesi null gelebiliyor. Bu yüzden şöyle yapmakta fayda var.
if (cursor != null && cursor.moveToFirst()) {...}
Ya da şöyle yaparız.

Cursor cursor = ...;
if(cursor.getcount() > 0)
  cursor.moveToFirst();
Şöyle kullanan kodlar var ama ben sevmiyorum.
if (cursor.moveToFirst()) {
  do {
    ...
  } while (cursor.moveToNext());
}
moveToLast metod
Cursor en son satıra getirilir. Şöyle yaparız.
for (cursor.moveToLast();  !cursor.isBeforeFirst();  cursor.moveToPrevious()){
  ...
}
moveToNext metodu
Bir sonraki satırın olup olmadığını belirtir. Iterator'deki hasNext ile aynıdır. Şöyle yaparız.
if (cursor.moveToNext()) {...}
Döngü içinde satırları yürümemizi sağlar.
while (cursor.moveToNext()) {...}