ASP Session & ADO : 4 שיעור www.doronamir.com MCSD DORON AMIR אובייקט Session בפעם הראשונה Session . הוא אובייקט שנוצר עבור כל משתמש ספציפי , כאשר הוא מבקש.

Download Report

Transcript ASP Session & ADO : 4 שיעור www.doronamir.com MCSD DORON AMIR אובייקט Session בפעם הראשונה Session . הוא אובייקט שנוצר עבור כל משתמש ספציפי , כאשר הוא מבקש.

ASP
Session & ADO : 4 ‫שיעור‬
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)“varname‬‬
‫‪ ‬ניתן כמובן גם להגדיר משתנים בעלי טווח הכרה‬
‫‪.Session‬‬
‫‪ ‬משתנים אלה יזוהו רק ע"י דפי ה‪ ASP-‬ששיכים‬
‫ל‪ Session-‬העבודה של המשתמש הספציפי‪.‬‬
‫‪ ASP ‬ייצר עבור כל משתמש‪ ,‬מופע נפרד של‬
‫המשתנים‪:‬‬
‫‪Session)“varname”(=value‬‬
‫מבוא לעבודה עם מסדי נתונים‬
‫‪ ‬בעולם האינטרנט של היום מאופייניים רוב‬
‫היישומים המסחריים כבעלי גישה למסד נתונים‬
‫זה או אחר‪.‬‬
‫‪ ‬מטרתנו כעת היא לסקור את אופן השימוש‬
‫במסדי נתונים ב‪.ASP-‬‬
‫גישת ‪ ASP‬למסדי נתונים‬
‫‪ . ‬באמצעות סטנדרט ה‪ ActiveX-‬מרחיבה ‪ASP‬‬
‫את יכולת הביצוע של המתכנת‪.‬‬
‫‪ ‬גם אופן גישתה של ‪ ASP‬למסדי נתונים נשען‬
‫על השימוש באובייקטים‪.‬‬
‫‪ ‬על מנת להתחבר למסדי הנתונים משתמשת‬
‫‪ ASP‬באובייקט ‪.ADO‬‬
‫‪ )Active Data Object( ‬הוא פיתוח מוכר של‬
‫חברת מיקרוסופט‪.‬‬
‫‪Active Data Object‬‬
‫‪ ADO ‬הוא מודל אובייקטים המספק למתכנת‬
‫יכולת חיבור לכל מסד נתונים קיים‪.‬‬
‫‪ ‬מתכנתי ‪ VB‬ו ‪ADO  C++‬‬
‫‪ ‬הוא מיושם בכל כלי הפיתוח של מיקרוסופט‪,‬‬
‫כמודל מתקדם לעבודה מול מסדי נתונים‪.‬‬
‫‪ADO‬‬
‫‪ ‬יכולתו הגבוהה של מודל ‪ ADO‬מבוססת על‬
‫טכנולוגיות ‪ OLE-DB‬ו‪ ODBC-‬בפרט‪.‬‬
‫‪ ‬באמצעות טכנולוגית ה ‪ OLE‬יכול ‪ ADO‬לגשת‬
‫למסדי נתונים רבים דוגמת ‪SQL Server,‬‬
‫‪ Oracle, DB2‬וכו'‪.‬‬
‫‪ ADO ‬יכול אף לייצג מידע שאינו במסד נתונים‬
‫קלאסי (דוגמת מערכת הספריות של ‪.)NT-Directory‬‬
‫היחסים בין ‪ ADO ,ASP‬ו‪DB-‬‬
‫‪OLE‬‬
‫ממשק של‬
‫ספק המידע‬
‫מנוע ‪DB OLE‬‬
‫אפליקצית ‪ASP‬‬
‫‪ODBC‬‬
‫אובייקט‬
‫‪Driver‬‬
‫‪ADO‬‬
‫המורכבות שבגישה למסד הנתונים מוסתרת מהמפתח‪.‬‬
‫‪ ADO‬מתרגם בקשות לכדי פעולות למול מנוע ‪.ODBC‬‬
‫מסד נתונים‪-‬‬
‫‪DBMS,‬‬
‫‪ ISAM‬וכו'‬
‫‪ ODBC‬מתרגם את הבקשות לקריאות בהתאם לספק המידע הספציפי‪.‬‬
‫מבנה זה של התהליך מבטיח אי‪-‬תלות בסוג המידע שנשלף‪.‬‬
‫מהו ‪ ,ADO‬אפשרויותיו ודרכי‬
‫שימוש‬
‫‪ ‬מנגנון אובייקטים המאפשר גישה למסדי נתונים‬
‫שונים‪.‬‬
‫‪ ‬גישה למסד הנתונים ‪.ACCESS‬‬
‫‪ = Provider ACCESS ‬המקור שמספק את‬
‫הנתונים ל‪.OLE-DB -‬‬
‫‪ ‬כיוון שכל מקור מאופיין בצורה שונה מספק‬
‫‪ ADO‬מודל אובייקטים אחיד לכל מקורות‬
‫המידע‪.‬‬
‫מודל האובייקטים של ‪ADO‬‬
‫‪ ‬מודל האובייקטים מבוסס על ‪ 3‬תתי‪-‬אובייקטים‬
‫מרכזיים‪:‬‬
‫‪Connection ‬‬
‫‪Recordset ‬‬
‫‪Commmand ‬‬
ADO – 3Objects
ADO
Connection Object
Recordset
Object
Command Object
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‬‬
‫דוגמא מסכמת‬
Customers ‫ ומוחקת את כל הלקוחות מטבלת‬Orders ‫ התוכנית פותחת מסד נתונים שנקרא‬.
- $10 ‫שחובם קטן‬
Set objCon = Server.CreateObject )“ADODB.Connection”(
ObjCon.Open "ordersdsn”
‫ יצירת אובייקט‬.1
ObjCon.Execute "DELETE * FROM Customers WHERE Debt<10”
‫ התקשרות‬.2
‫ פעולה‬.3
If objCon.Errors.Count <>0 then Response.Write "<h1>Error in ‫ בדיקת שגיאות‬.4
executing
‫ סגירה‬.5
command in DB<h1>”
‫ ניקוי‬.6
objCon.close
Set objCon = Nothing
ASP
Session & ADO : 4 ‫ שיעור‬
www.doronamir.com
MCSD DORON AMIR