CodeBlanks Logo Icon CodeBlanks

INSERT ve SELECT

db.insert ve db.query ile veri ekleyip okumayı öğrenirsin.

Kayıt sorgulama

Tablodaki kayıtları okumak için db.query metodunu kullanırsın. Dönüş değeri List<Map>'tir; her Map bir satırı temsil eder.

final satirlar = await db.query('kullanicilar');
for (final satir in satirlar) {
  print(satir['isim']);
}

Satırlar sütun adlarıyla erişilir.

Satırları gezme

db.query dönen List<Map>'i bir for döngüsüyle gezersin. Her satırın sütunlarına satir['sütunAdı'] ile erişirsin.

final satirlar = await db.query('kullanicilar');
for (final satir in satirlar) {
  print('isim: ${satir['isim']}');
}

Bu şekilde tüm kayıtları listeleyebilirsin.

Uygulama Tüm kullanıcıları listele

Veritabani sınıfında tumKullanicilar metodu yaz; db.query('kullanicilar') çağırıp sonucu döndürsün. main'de tumKullanicilar'ı çağır ve her satırın 'isim' değerini print('isim: ${satir['isim']}') ile yaz.

Başlangıç kodu

main.dart
import 'package:sqflite/sqflite.dart';

class Veritabani {
  late Database db;

  Future<void> ac() async {
    db = await openDatabase('uygulama.db');
  }

  // tumKullanicilar metodu ekle
}

void main() async {
  final vt = Veritabani();
  await vt.ac();
  // satırları gez ve isimleri yazdır
}

Örnek çözüm

main.dart
import 'package:sqflite/sqflite.dart';

class Veritabani {
  late Database db;

  Future<void> ac() async {
    db = await openDatabase('uygulama.db');
  }

  Future<List<Map<String, dynamic>>> tumKullanicilar() async {
    return await db.query('kullanicilar');
  }
}

void main() async {
  final vt = Veritabani();
  await vt.ac();
  final satirlar = await vt.tumKullanicilar();
  for (final satir in satirlar) {
    print('isim: ${satir['isim']}');
  }
}

Beklenen çıktı

isim: Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 db.query metodu ne döndürür?

  • Bir String
  • List<Map> olarak satırlar Doğru cevap
  • Bir Future<void>
  • Tek bir int

Açıklama: db.query tablodaki satırları List<Map> olarak döndürür; her Map bir satırı temsil eder.

2 db.query ile kayıtları oku

Soru
final satirlar = await db.____('kullanicilar');
for (final satir in satirlar) {
  print(satir['isim']);
}
Cevap
final satirlar = await db.query('kullanicilar');
for (final satir in satirlar) {
  print(satir['isim']);
}

Açıklama: db.query tablodaki satırları List<Map> olarak döndürür; for döngüsüyle her satır gezilir.

3 Kayıt sorgulama parçaları

Kavram Anlamı
db.query Tablodaki satırları okuyan metod
List<Map> Satırları temsil eden dönüş tipi
for döngüsü Satırları gezme yöntemi
satir['isim'] Sütun değerine erişim

Orta seviye bölümündeki tüm dersler