עמוד:180

שימוש כזה בexecute- נחוץ כאשר השאילתה נקראת מהקלט והמתכנת לא יכול לדעת מראש מהו סוג השאילתה . כאשר סוג השאילתה ידוע מראש , אפשר להשתמש בשתי פעולות ספציפיות יותר במקום בפעולה הכללית : execute אם ידוע שהשאילתה היא שאילתת אחזור ( select ) ולא שאילתת עדכון , אפשר להשתמש בפעולה executeQuery של , Statement למשל כך : resSet = statement . executeQuery ( queryString ); הפעולה executeQuery מחזירה ייצוג של טבלת התוצאה באמצעות עצם מהטיפוס . ResultSet אם ידוע שהשאילתה היא שאילתת עדכון , הוספה , ביטול או שאילתה להגדרת המסד , אפשר להשתמש בפעולה . executeUpdate גם פעולה זו מקבלת את השאילתה כמחרוזת . היא מחזירה ערך שלם שמציין את מספר השורות שהושפעו מהעדכון 0 ) כאשר מדובר בשאילתה להגדרת המסד . ( למשל , להלן שאילתה למחיקת כל המשתמשים ששמם מתחיל בa- מהטבלה : tblUsers int i = executeUpdate ( "delete from tblUsers where userName like 'a % ' " ); ג . אחזור נתונים מטבלת התוצאה כאמור , העצם ResultSet מייצג טבלת תוצאה של שאילתה ; עצם זה מאפשר לעבור על השורות של טבלת התוצאה ולשלוף ממנה נתונים . לרוב עוברים על הטבלה במסגרת לולאה שבה מאחזרים נתונים מהטבלה , שורה אחר שורה , ומעבדים אותה . כאשר נוצר העצם , ResultSet הסמן שלו ממוקם לפני השורה הראשונה . כדי לעבור לשורה הבאה של טבלת התוצאה , משתמשים בפעולה next של . ResultSet צריך אפוא לקרוא קודם לnext- ואז לעבד את נתוני השורה . כאשר הסמן נמצא על השורה האחרונה , הפעולה next מחזירה את הערך שקר . מבנה הלולאה העוברת על טבלת התוצאה ( כאשר resSet הוא עצם מהטיפוס ( ResultSet הוא אפוא : while ( resSet . next ()) { עיבוד השורה הנוכחית } //

מטח : המרכז לטכנולוגיה חינוכית


לצפייה מיטבית ורציפה בכותר