CodeBlanks Logo Icon CodeBlanks

Meydan okuma 3

sqflite ile not ekleyip listeyen uygulama yaparsın.

sqflite ile not uygulaması

Bu meydan okumada sqflite ile bir not uygulaması yaparsın. openDatabase ile veritabanı açar, CREATE TABLE ile notlar tablosu oluşturur, insert ile yeni not ekler ve query ile tüm notları çekersin. Her sorgu bir Future döndürdüğü için fonksiyonlar async olur.

final db = await openDatabase('notlar.db');
await db.insert('notlar', {'baslik': 'Alışveriş', 'icerik': 'Süt'});
final liste = await db.query('notlar');

Bu yapı, kalıcı ve sorgulanabilir bir saklama sağlar.

Uygulama notEkle fonksiyonu

notEkle adında async fonksiyon yaz. openDatabase('notlar.db') ile veritabanını aç, db.insert('notlar', {'baslik': baslik, 'icerik': icerik}) ile yeni not ekle. main içinde 'hazir' yazdır.

Başlangıç kodu

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

// notEkle fonksiyonunu yaz
// openDatabase ile veritabanını aç
// db.insert ile yeni not ekle

void main() {
  // 'hazir' yazdır
}

Örnek çözüm

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

Future<void> notEkle(String baslik, String icerik) async {
  final db = await openDatabase('notlar.db');
  await db.insert('notlar', {'baslik': baslik, 'icerik': icerik});
}

void main() {
  print('hazir');
}

Beklenen çıktı

hazir

Uygulama notlariGetir fonksiyonu

notlariGetir adında async fonksiyon yaz. openDatabase('notlar.db') ile veritabanını aç, db.query('notlar') ile tüm notları çek ve döndür. main içinde 'hazir' yazdır.

Başlangıç kodu

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

// notlariGetir fonksiyonunu yaz
// openDatabase ile veritabanını aç
// db.query ile tüm notları çek
// sonucu döndür

void main() {
  // 'hazir' yazdır
}

Örnek çözüm

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

Future<List<Map<String, Object?>>> notlariGetir() async {
  final db = await openDatabase('notlar.db');
  return db.query('notlar');
}

void main() {
  print('hazir');
}

Beklenen çıktı

hazir

Soru ve cevaplar

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

1 sqflite'ta yeni bir kayıt eklemek için hangi metod kullanılır?

  • db.insert Doğru cevap
  • db.update
  • db.query
  • db.delete

Açıklama: db.insert yeni kayıt ekler. db.query kayıtları okur, db.delete kayıt siler, db.update mevcut kaydı günceller; ekleme yapmazlar.

2 Tüm notları çek

Soru
final db = await openDatabase('notlar.db');
final liste = await db.____('notlar');
Cevap
final db = await openDatabase('notlar.db');
final liste = await db.query('notlar');

Açıklama: Tüm kayıtları çekmek için db.query kullanılır. insert yeni kayıt ekler, delete siler, create diye bir metot yoktur (CREATE TABLE raw SQL ile yapılır).

3 sqflite parçaları

Kavram Anlamı
openDatabase veritabanı açma
CREATE TABLE tablo oluşturma
db.insert kayıt ekleme
db.query kayıtları çekme

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