PracticU

חיבור למסד נתונים SQLite - חלק 5

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › חיבור למסד נתונים SQLite - חלק 5
מילון מושגים:
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
SQLite - מסד נתונים יחסי קל משקל ששמור בקובץ בודד, נפוץ ביישומים מקומיים ובאפליקציות מובייל.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.

חיבור למסד נתונים SQLite - חלק 5
מוצר שכבר קיים במסד צריך לפעמים לעדכן את השם או את המחיר שלו. בשיעור מוסיפים למחלקה Database את הפונקציה updateProduct ומחברים אותה לאפליקציה.
השלבים העיקריים
1. הפונקציה: updateProduct מקבלת Product. הפעם האובייקט חייב לכלול id שהמסד נתן לו, בנוסף ל-name ול-price.
2. השאילתה: בונים אותה עם String.format: update products set name = '%s', price = %f where id = %d, עם הערכים מ-getName, getPrice ו-getId.
3. למה WHERE: בלי התנאי העדכון חל על כל המוצרים. עם where id רק המוצר המבוקש מתעדכן.
4. הרצה: getWritableDatabase(), execSQL עם השאילתה, ובסוף סגירת החיבור.
5. חיבור ל-MainActivity: ב-onActivityResult, במקרה של request code של עדכון מוצר ו-result code אוקיי, קוראים קודם ל-database.updateProduct(product) ואחר כך מחפשים את המוצר ברשימה המקומית ומעדכנים אותה, ולבסוף מרעננים את הרשימה.
בדיקה
הוספת green apple במחיר 3.5 ואז עדכון לשם red ולמחיר 4.6 הציגו את הנתונים החדשים. מה שמוצג בשלב זה הוא הרשימה המקומית, אך הקוד שנכתב שולח את העדכון גם למסד.
כעת אפשר לעדכן רשומה קיימת במסד לפי ה-id שלה.
השיעור הבא בקורס: חיבור למסד נתונים SQLite - חלק 6

פרקי ההרצאה: חיבור למסד נתונים SQLite - חלק 5

  1. 00:00

    פונקציה לעדכון מוצר קיים

  2. 00:39

    שאילתת UPDATE עם String.format

  3. 01:39

    תנאי WHERE לפי ID

  4. 02:20

    הרצת השאילתה וסגירת החיבור

  5. 03:01

    קריאה לעדכון מ-onActivityResult

תמלול ההרצאה: חיבור למסד נתונים SQLite - חלק 5

הטקסט המלא של הדקות הראשונות בהרצאה «חיבור למסד נתונים SQLite - חלק 5» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    אחרי שכתבנו את הקוד לצורך הוספה של מוצר חדש לדאטאבייס, בואו נבצע עדכון מוצר קיים. אנחנו ניגשים ל-Database, זאת המחלקה שבנינו, ואנחנו רוצים להוסיף עוד פונקציה public void update product.

  2. 00:21

    הפונקציה הזאת מקבלת אובייקט product, כמובן שהפעם אובייקט הפרודקט הזה צריך להכיל ID כפי שהדאטאבייס נתן לו, לאשר פונקציית add product, האובייקט הזה לא קיבל ID, הוא קיבל רק name ו-price, אנחנו פה מקבלים ID, name ו-price בתוך האובייקט, ואנחנו רוצים לייצר שאילתה, שאילתת sql, שתאפשר לעדכן את המוצר הזה.

  3. 00:51

    אז בואו נשתמש ב-string format, בכדי שיהיה ממש יותר פשוט לבצע את השאילתה, ואנחנו רוצים לכתוב שאילתה שמתחילה ב-update product, שם הטבלה set name שווה גרש גרש ובתוך אחוז s פסיק price שווה ויש לנו אחוז f כי זה floating number זאת אומרת ששאילתת הsql אומרת לנו שאנחנו רוצים לבצע עדכון עבור טבלת המוצרים אנחנו רוצים שהשם

  4. 01:31

    יהיה בדיוק מה שמופיע פה ושהprice יהיה בדיוק מה שמופיע פה אבל אנחנו צריכים להוסיף פה where ID שווה ל-1% ID כי אם אנחנו לא נעשה את זה אז העדכון יתבצע עבור כל המוצרים.

  5. 01:48

    אז כאן העדכון מתבצע רק עבור ה-ID הזה שאנחנו הולכים לפרט. ואנחנו רוצים להכניס את product get name, אנחנו רוצים את product get price ולבסוף את product get ID. והנה מוכנה השאילתא.

  6. 02:07

    כעת אנחנו רוצים שוב פעם להשיג את Writable Database, את ה-DB הזה, אז בואו נעתיק את השורה ונדביק אותה כאן. אחרי שיש לנו את ה-Writable Database אנחנו יכולים לקרוא ל-exec sql ולהוציא לפועל את השאילתה.

  7. 02:26

    לבסוף אנחנו רוצים to close the connection והנה סיימנו לבנות שאילתה ולהוציא אותה לפועל שמה שהיא עושה היא מבצעת למוצר קיים ומה שאנחנו רוצים לעשות זה פשוט לקרוא לפונקציה הזאת בדיוק בקוד שמבצע את העדכון זה יהיה ב-Main Activity וברגע שיוזר מבצע Update אז מוצגת לו ה-Activity לגבי Update והפרטים של המוצר נשלחים

  8. 03:01

    ברגע שהוא מבצע אישור הוא חוזר בחזרה ל-on-activity-result ואז ה-else הזה צריך להתבצע. ה-request code היה ה-request code update product, זה בדיוק מה ששלחנו פה, request code update product, וכמובן אם היוזר לוחץ על אוקיי אז אנחנו גם מקבלים בחזרה את ה-result code שזה אוקיי וזה

  9. 03:20

    אומר שהוא רוצה לבצע את העדכון.

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: חיבור למסד נתונים SQLite - חלק 4

ההרצאה הבאה: חיבור למסד נתונים SQLite - חלק 6

הרצאות קשורות מקורסים אחרים

  • חיבור אפליקציה למסד נתונים
  • קורס PHP - הרצאה 10 - חיבור למסד נתונים
  • חיבור למסד נתונים - Connection String
  • יצירת אפליקציה עם חיבור למסד נתונים

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון