בניית שכבת נתונים עבור טבלה בודדת - שלב שלישי

סגור באמצעות טופס זה תוכלו לספר ולהמליץ לחבריכם..
שם השולח:
כתובת דוא"ל של השולח:
שם המקבל:
שלח לכתובת דוא"ל:
הוסף הערה:
בניית שכבת המידע עבור הטבלה Website

בניית שכבת נתונים עבור טבלה בודדת  
שלב שלישי

מאת: ארז קלר

המתודה Select (שהוספנו בשלב הקודם) מבצעת בפועל שני דברים:
פונה למסד הנתונים ומריצה את השאילתה שהוגדרה באחת מהמתודות האחרות, בונה את מחלקות המודל.
לא בריא שמתודה מבצעת שתי פעולות ולכן נפצל אותה לשתי מתודות נפרדות, הראשונה תריץ את השאילתה למסד הנתונים, השנייה תבנה את מחלקות המודל שהן תוצאת השאילתה.
 1  : public class WebsiteDB 
 2  : { 
 3  :       . . . 
 4  :  
 5  :     public WebsiteDB() 
 6  :     { 
 7  :          . . . 
 8  :     } 
 9  :     public Websites SelectAll() 
 10 :     { 
 11 :          . . . 
 12 :     } 
 13 :     public Websites SelectByName(string name) 
 14 :     { 
 15 :         . . . 
 16 :     } 
 17 :     public Website SelectByID(string id) 
 18 :     { 
 19 :          . . . 
 20 :     } 
 21 :     private Websites Select() 
 22 :     { 
 23 :         Websites websites = null; 
 24 :         try 
 25 :         { 
 26 :             command.Connection = connection; 
 27 :             connection.Open(); 
 28 :             reader = command.ExecuteReader(); 
 29 :             websites = CreateModel(); 
 30 :         } 
 31 :         catch (Exception e) 
 32 :         { 
 33 :  
 34 :         } 
 35 :         finally 
 36 :         { 
 37 :             if (reader != null) 
 38 :                 reader.Close(); 
 39 :             if (connection.State == ConnectionState.Open) 
 40 :                 connection.Close(); 
 41 :         } 
 42 :         return websites; 
 43 :     } 
 44 :     private Websites CreateModel() 
 45 :     { 
 46 :         Websites websites = new Websites(); 
 47 :         Website website; 
 48 :         while (reader.Read()) 
 49 :         { 
 50 :             website = new Website(); 
 51 :             website.WebsiteID = (int)reader["WebsiteID"]; 
 52 :             website.Name = reader["Name"].ToString(); 
 53 :             website.LogoLink = reader["LogoLink"].ToString(); 
 54 :             website.Link = reader["Link"].ToString(); 
 55 :             websites.Add(website); 
 56 :         } 
 57 :         return websites; 
 58 :     } 
 59 : } 
הסבר:
שורה 44 - המתודה CreateModel קוראת בצורה סדרתית את הרשומות ומיצצרת את מחלקות המודל.
הפעם, המתודה Select פותחת connection למסד הנתונים, מריצה את השאילתה אולם לא בונה את המודל, זה תפקידה של המתודה CreateModel.




דוגמת קוד עבור שלב שלישי: RssReaderSample-ver 003

 



 
 



כל הזכויות שמורות למחבר ©