INSERT ve SELECT
- Flutter kursu
- Orta seviye
- Ders 44/99
- 4 dk
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
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
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
final satirlar = await db.____('kullanicilar');
for (final satir in satirlar) {
print(satir['isim']);
}
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 |