Kotlin Multiplatform Academy · درس

إدراج الصفوف والاستعلام عنها وتحديثها

تنفيذ عمليات CRUD من التعليمات البرمجية المشتركة

الدرس 3 من 413 خطوة

إدراج الصفوف والاستعلام عنها وتحديثها درس مجاني في Kotlin Multiplatform Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Multiplatform Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Reach the Generated Queries

Your database exposes a queries object named after the .sq file. Every labeled statement becomes a method on it.

val queries = database.playerQueries

Write an Insert Query

Add an insert label in your .sq file. SQLDelight turns its placeholders into typed Kotlin parameters.

insertPlayer:
INSERT INTO player(id, name) VALUES (?, ?);

Call Insert from Kotlin

Now you call the generated function with real values. The types are checked, so a wrong argument fails to compile.

queries.insertPlayer(id = 1, name = "Ada")

Select All Rows

Run a select query and ask for executeAsList to get every matching row as a typed Kotlin list.

val players = queries.selectAll().executeAsList()

Mapped to Data Classes

SQLDelight maps each row to a generated data class with named, typed properties, so you avoid string-keyed cursors.

players.forEach { println(it.name) }

Select a Single Row

For a one-row query use executeAsOneOrNull, which returns null instead of crashing when nothing matches.

val player = queries.selectById(1).executeAsOneOrNull()

Write an Update Query

An update label changes existing rows. Put the new value first and the matching key last as placeholders.

updateName:
UPDATE player SET name = ? WHERE id = ?;

Call Update from Kotlin

Invoke the generated update like any function. SQLDelight runs the SQL and applies it to every matching row.

queries.updateName(name = "Grace", id = 1)

Delete Rows

A delete query removes rows by condition. Without a WHERE clause it clears the whole table, so be careful.

deleteById:
DELETE FROM player WHERE id = ?;

Group with Transactions

Wrap several writes in a transaction so they all succeed or all roll back together, keeping your data consistent.

queries.transaction {
    queries.insertPlayer(2, "Linus")
    queries.insertPlayer(3, "Margaret")
}

Runs the Same Everywhere

Because the queries are shared, this exact CRUD code behaves identically on Android and iOS. Write it once, trust it twice.

Quick Check

You query for one player by id but it may not exist. Which call is safest?

Recap: Full CRUD

You inserted, selected, updated and deleted rows with type-safe generated queries and grouped writes in a transaction. Next, make it reactive. ✅

البدء مجانًا

تعلم Kotlin مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «إدراج الصفوف والاستعلام عنها وتحديثها» مجاني؟

نعم — نص درس «إدراج الصفوف والاستعلام عنها وتحديثها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Multiplatform Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

ماذا ستتعلم في «إدراج الصفوف والاستعلام عنها وتحديثها»؟

تنفيذ عمليات CRUD من التعليمات البرمجية المشتركة تتمرن على Kotlin Multiplatform Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Multiplatform Academy؟

لا تُشترط خبرة سابقة. Kotlin Multiplatform Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إدراج الصفوف والاستعلام عنها وتحديثها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Multiplatform Academy هذا؟

نعم. كل درس في Kotlin Multiplatform Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إضافة SQLDelight وكتابة مخططات .sq
  2. إعداد SqlDriver للمنصة
  3. إدراج الصفوف والاستعلام عنها وتحديثها
  4. مراقبة الجداول باعتبارها Flow
← العودة إلى Kotlin Multiplatform Academy