190 likes | 325 Views
ASP. שיעור 4 : Session & ADO. www.doronamir.com MCSD DORON AMIR. אובייקט Session. בפעם הראשונה. Session הוא אובייקט שנוצר עבור כל משתמש ספציפי, כאשר הוא מבקש לראות דף ששייך לאפליקציה שלנו.
E N D
ASP שיעור 4 : Session & ADO www.doronamir.com MCSD DORON AMIR
אובייקט Session בפעם הראשונה. Session הוא אובייקט שנוצר עבור כל משתמש ספציפי, כאשר הוא מבקש לראות דף ששייך לאפליקציה שלנו • אובייקט ה-Application סיפק לנו דרך לשמור משתנים שהם כללים לכל המשתמשים של האפליקציה. • כאשר נרצה לשתף מידע שהוא ספציפי למשתמש בודד, נפנה לאובייקט ה-Session.
משתנים גלובליים ל-Session • על מנת לייצור את אובייקט ה-Session מייצרת ASP מספר מזהה ייחודי למשתמש. • מספר זה נקרא ה-SessionID. המספר יזהה את המשתמש בכל זמן חיי ה-Session שלו: intX = Session.SessionID
End - Session Session מסתיים באחת משתי דרכים: • המשתמש לא ביצע פעולה מול השרת במשך הזמן המוקצה לכך ע"י IIS (ברירת המחדל היא 20 דקות). • ניתן להביא לסיומו של ה-Session ע"י שימוש בפעולת Abandon Session.Abandon
Session(“varname”) • ניתן כמובן גם להגדיר משתנים בעלי טווח הכרה Session. • משתנים אלה יזוהו רק ע"י דפי ה-ASP ששיכים ל-Session העבודה של המשתמש הספציפי. • ASP ייצר עבור כל משתמש, מופע נפרד של המשתנים: Session(“varname”)=value
מבוא לעבודה עם מסדי נתונים • בעולם האינטרנט של היום מאופייניים רוב היישומים המסחריים כבעלי גישה למסד נתונים זה או אחר. • מטרתנו כעת היא לסקור את אופן השימוש במסדי נתונים ב-ASP.
גישת ASP למסדי נתונים • . באמצעות סטנדרט ה-ActiveX מרחיבה ASP את יכולת הביצוע של המתכנת. • גם אופן גישתה של ASP למסדי נתונים נשען על השימוש באובייקטים. • על מנת להתחבר למסדי הנתונים משתמשת ASP באובייקט ADO. • (Active Data Object) הוא פיתוח מוכר של חברת מיקרוסופט.
Active Data Object • ADO הוא מודל אובייקטים המספק למתכנת יכולת חיבור לכל מסד נתונים קיים. • מתכנתי VB ו C++ADO • הוא מיושם בכל כלי הפיתוח של מיקרוסופט, כמודל מתקדם לעבודה מול מסדי נתונים.
ADO • יכולתו הגבוהה של מודל ADO מבוססת על טכנולוגיות OLE-DB ו-ODBC בפרט. • באמצעות טכנולוגית ה OLE יכול ADO לגשת למסדי נתונים רבים דוגמת SQL Server, Oracle, DB2 וכו'. • ADO יכול אף לייצג מידע שאינו במסד נתונים קלאסי (דוגמת מערכת הספריות של NT-Directory).
אפליקצית ASP מנוע DBOLE ממשק של ספק המידע ODBC Driver אובייקט ADO מסד נתונים- DBMS, ISAM וכו' היחסים בין ASP, ADO ו-DBOLE המורכבות שבגישה למסד הנתונים מוסתרת מהמפתח. ADO מתרגם בקשות לכדי פעולות למול מנוע ODBC. ODBC מתרגם את הבקשות לקריאות בהתאם לספק המידע הספציפי. מבנה זה של התהליך מבטיח אי-תלות בסוג המידע שנשלף.
מהו ADO, אפשרויותיו ודרכי שימוש • מנגנון אובייקטים המאפשר גישה למסדי נתונים שונים. • גישה למסד הנתונים ACCESS. • ACCESSProvider = המקור שמספק את הנתונים ל- DB-OLE. • כיוון שכל מקור מאופיין בצורה שונה מספק ADO מודל אובייקטים אחיד לכל מקורות המידע.
מודל האובייקטים של ADO • מודל האובייקטים מבוסס על 3 תתי-אובייקטים מרכזיים: • Connection • Recordset • Commmand
ADO Connection Object Command Object Recordset Object ADO – 3Objects Command Object
ADO – 3Objects • אובייקט ה-Connection אחראי על יצירת הקשר עם מקור המידע (ה-Provider), שיהיה בד"כ מסד נתונים. • אובייקט ה- Command ינהל את המידע אליו ניגשנו. באמצעות ה-Command נבצע שאילתות SQL, נשלוף ונעדכן רשומות בצורה ישירה. • אובייקט ה-Recordset מיצג את המידע שנשלף ממקור המידע. ה-Recordset ייצג טבלה במסד הנתונים, תוצאתה של שאילתה וכו'.
אובייקט ה-Connection • על מנת להתחבר למסד הנתונים עלינו לייצור אובייקט מסוג Connection. • לשם כך נשתמש בפעולות ה-CreateObject: Set objCon = Server.CreateObject ("ADODB.Connection”) ADODB הוא שם ספריית ה-DLL בה ADO מאוחסן.
Open DataBase • לאחר שייצרנו את אובייקט ה-Connection נשתמש בו כדי לפתוח את מסד הנתונים אליו אנו רוצים לגשת. • נשתמש בפעולות ה-Open. • פעולת ה-Open דורשת כי נציין את מקור המידע אותו אנו פותחים. • לשם כך נשתמש ב-DSN אותו יצרנו objCon.Open “dsnname” objCon.Open "DSN=north;DATABASE=northwind;UID=DoronAmir;Password=ABC”
Execute & Close • ניתן לבצע פעולות ע"י Execute . objCon.Execute “operation” • שאילתת SQL • הפעלת Stored Procedure. • תוכן הפעולה אינו נשלט ע"י ADO אלה מועבר באופן ישיר למקור המידע. objCon.Close • פעולת הסגירה משחררת את הקישור ל-ODBC. • איננה מנקה את הזיכרון מאובייקט ה-Connection שיצרנו. • לשם כך עלינו לנקות אובייקט זה באופן מפורש: • Set objCon = nothing
דוגמא מסכמת . התוכנית פותחת מסד נתונים שנקרא Orders ומוחקת את כל הלקוחות מטבלת Customers שחובם קטן 10$ - Set objCon = Server.CreateObject (“ADODB.Connection”) ObjCon.Open "ordersdsn” • יצירת אובייקט • התקשרות • פעולה • בדיקת שגיאות • סגירה • ניקוי ObjCon.Execute "DELETE * FROM Customers WHERE Debt<10” If objCon.Errors.Count <>0 then Response.Write "<h1>Error in executing command in DB<h1>” objCon.close Set objCon = Nothing
ASP • שיעור 4 : Session & ADO www.doronamir.com MCSD DORON AMIR