CRUD
- Dart kursu
- İleri seviye
- Ders 45/83
- 5 dk
sqflite ile CRUD işlemlerini öğrenirsin.
CRUD işlemleri
CRUD, dört temel veri tabanı işleminin baş harfleridir: Create (oluştur), Read (oku), Update (güncelle), Delete (sil). sqflite bu işlemleri db.insert, db.query, db.update ve db.delete yöntemleriyle sunar.
Örnek: await db.insert('notes', {'title': 'Merhaba'}); yeni bir satır ekler. final rows = await db.query('notes'); tüm satırları çeker. Her satır bir Map<String, dynamic> olarak döner; rows[0]['title'] ilk satırın başlığını verir.
Satır eklemek ve çekmek
Bir satır eklemek için db.insert('tablo', map) çağırırsın. map, sütun adlarını değerlere bağlayan bir Map'tir. Örneğin {'title': 'Merhaba', 'body': 'İlk notum'}.
Satır çekmek için db.query('tablo') kullanırsın. Sonuç bir List<Map<String, dynamic>>'tir. rows[0]['title'] ilk satırın title sütununu verir. Bu derste bir crudDemo fonksiyonu yazacağız: bir not ekler, tüm notları çeker ve ilk notun başlığını yazdırır.
Uygulama Not ekle ve çek
Aşağıdaki kodda sqflite içe aktarılmış ve main bir Database açıyor. crudDemo(Database db) fonksiyonunu tanımla: db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'}) ile bir not ekle, db.query('notes') ile tüm notları çek ve print('İlk not: ${rows[0]['title']}') ile ilk notun başlığını yazdır. main içinde print('CRUD: insert + query') satırı zaten var; crudDemo(db) çağrısını ekle.
Başlangıç kodu
import 'package:sqflite/sqflite.dart';
Future<void> crudDemo(Database db) async {
// bir not ekle (db.insert) ve tüm notları çek (db.query)
// ilk notun başlığını yazdır
}
void main() async {
print('CRUD: insert + query');
final db = await openDatabase('notes.db');
await crudDemo(db);
await db.close();
}Örnek çözüm
import 'package:sqflite/sqflite.dart';
Future<void> crudDemo(Database db) async {
await db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'});
final rows = await db.query('notes');
print('İlk not: ${rows[0]["title"]}');
}
void main() async {
print('CRUD: insert + query');
final db = await openDatabase('notes.db');
await crudDemo(db);
await db.close();
}Beklenen çıktı
CRUD: insert + query İlk not: Merhaba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 CRUD yöntemlerini eşleştir
| Kavram | Anlamı |
|---|---|
db.insert |
Create |
db.query |
Read |
db.update |
Update |
db.delete |
Delete |
2 Yeni satır eklemek için hangi metot?
- db.insert Doğru cevap
- db.delete
- db.update
- db.query
Açıklama: db.insert yeni bir satır ekler (Create).
3 db.insert çağrısı
await db.____('notes', {'title': 'Merhaba', 'body': 'İlk notum'});
await db.insert('notes', {'title': 'Merhaba', 'body': 'İlk notum'});
Açıklama: db.insert('notes', {...}) yeni satır ekler.