ASP RecordSet Object & ADO : 5 שיעור www.doronamir.com MCSD DORON AMIR אובייקט ה Recordset - שליפה ואחסון נתונים ממקור מידע . שאילתות שמחזירות נתונים מאוחסנות באמצעות אובייקט ה .Recordset- ה
Download ReportTranscript ASP RecordSet Object & ADO : 5 שיעור www.doronamir.com MCSD DORON AMIR אובייקט ה Recordset - שליפה ואחסון נתונים ממקור מידע . שאילתות שמחזירות נתונים מאוחסנות באמצעות אובייקט ה .Recordset- ה
Slide 1
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 2
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 3
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 4
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 5
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 6
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 7
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 8
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 9
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 10
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 11
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 12
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 13
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 14
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 15
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 2
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 3
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 4
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 5
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 6
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 7
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 8
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 9
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 10
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 11
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 12
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 13
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 14
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR
Slide 15
ASP
RecordSet Object & ADO : 5 שיעור
www.doronamir.com
MCSD DORON AMIR
אובייקט הRecordset -
שליפה ואחסון נתונים ממקור מידע.
שאילתות שמחזירות נתונים מאוחסנות באמצעות
אובייקט ה.Recordset-
ה Recordset -מייצג בזיכרון את הנתונים שנשלפו
בשאילתה שבוצעה.
Recordsetבנוי כטבלה המכילה שורות ועמודות.
שורות ועמודות אלה נקראות RowsוColumns-
בהתאמה או Recordsו Fields-בהתאמה.
Recordset
מתבצעת עבורנו באופן אוטומטיRecordset- יצירת ה
.כתוצאה משאילתה שמחזירה נתונים
SQL משפט, שאילתה זו יכולה להיות שם טבלה
במסדStored Procedure ) או שם שלSelect(
.הנתונים
כאשר נרצה להשתמש בנתונים שחוזרים מהשאילתה
:Set- נשתמש במשפט הRecordset ליצירת
Set objRdst = objCon.Execute )“operation”(
Set objRdst = objCon.Execute )“Customers”(
: שליפת טבלה
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.Open “ordersdsn”
SQL משפט
Set objRdst = objCon.Execute )“SELECT FirstName, LastName, ID,
Amount FROM Customers”(
CreateObject RecordSet
גם באופן ישיר ללא שימושRecordset- ניתן לייצר את ה
. מפורשConnection באובייקט
. באופן אוטומטיConnection ייצרADO במקרה זה
.Recordset- של אובייקט הOpen- נשתמש בפעולת ה
- את האובייקט נייצר באופן מפורש ע"י פעולת ה
:CreateObject
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Source, ActiveConnection,
CursorType, LockType, Options
Source
.Stored Procedure שם טבלה או,SQL משפט:מייצג שאילתה
ActiveConnection
.Connection מייצג אובייקט מסוג
CutsorType
ישתמש בו לשליפת הנתונים ואחסונםADO- שCursor -מציין את סוג ה
.בזיכרון
LockType
.מציין את הנעילה שתבוצע מול מקור המידע
Options
)Stored Procedure , שם טבלה,SQL מציין את סוג השאילתה (משפט
Set objRdst = Server.CreateObject )“ADODB.Recordset”(
ObjRdst.Open Source, ActiveConnection, CursorType, LockType, Options
Options
ציון פרמטר ה Options-משמש לשיפור ביצועים
תיאור
ערך
סוג שליפה שאינו ידוע מראש
( – adCmdUnknown 0ברירת מחדל)
פקודה כתובה למקור המידע.
ברוב המקרים כאשר אנחנו עובדים מול מסד נתונים,
משמעו משפט .SQL
– adCmdText 1
שליפת טבלה שלמה
– adCmdTable 2
Stored Procedureאו שאילתה מוכנה במסד הנתונים
– adCmdStoredProc 4
LockType
פרמטר ה LockType-מגדיר את סוג הנעילה שביצע ADO
מול מקור המידע.
קיימים ארבעה סוגי נעילה שכאלה:
תיאור נעילה (למול משתמש אחר)
סוג נעילה
קריאה בלבד ללא יכולת עדכון נתונים.
AdLockReadOnly - 1
פסימיסטי.
נעילה של Recordאחרי Recordמייד עם תחילת
עדכונם.
– adLockPessimistic 2
אופטימיסטי.
נעילה של Recordאחרי Recordרק לאחר
שנפעיל את פעולת ה Update-על ה-
.Recordset
– adLockOptimistic 3
אצווה אופטימסטית
משמש במצבי ביצוע אצווה.
– adLockBatchOptimistic 4
CutsorType
פרמטר ה CutsorType -מאפשר לנו לקבוע באיזה סמן
שליפה ישתמש ADOמול מקור המידע.
קיימים ארבעה סוגי סמנים:
פירוט תכונות
ערך פרמטר
סוג Cursor
Dynamic Cursor
מאפשר עדכון מלא ,תנועה קדימה ולאחור בטבלה,
כל העדכונים שמבוצעים במקביל ע"י
משתמשים אחרים חשופים בזמן אמת.
AdOpenDynamic
זהה ל Dynamic-אלא שאינו חושף שינויים
ועדכונים שנעשים ע"י משתמשים אחרים בזמן
אמת.
AdOpenKeyset
Keyset Cursor
אינו מאפשר עדכון נתונים .יעיל בעיקר לקריאת
מצב .מאפשר תנועה קדימה ולאחור בטבלה,
אינו חושף שינויים שנעשים ע"י משתמשים
אחרים
AdOpenStatic
Static Cursor
זהה ל Static -אך אינו מאפשר תנועה אחורה
בטבלה .מספק את זמן התגובה הטוב ביותר
לקריאה.
ברירת מחדל
adOpenForwardOnly
Forward-Only
דוגמא מסכמת
:Customers- ושולפת ממנו את טבלת הOrders התוכנית פותחת מסד נתונים שנקרא.
Set objRdst = Server.CreateObject ("ADODB.Recordset")
ObjRdst.Open “Select * From Customers”, “ordersdsn”, adOpenForwardOnly,
AdLockReadOnly,adCmdTable
objRdst.Close
Set objRdst = Nothing
שימוש בRecordset -
אנו יכולים לבצע מגוון של פעולות על הנתונים
אובייקט ה Recordset-הוא ייצוג בזיכרון של
הנתונים שנשלפו.
הנתונים מופיעים בצורת טבלה.
אנו יכולים לנווט קדימה ואחורה בטבלת המידע,
לעדכן ולהוסיף ערכים ,למחוק שורות ועוד מספר
רב של פעולות כגון אלה.
פעולת Move
פעולת - Moveתנועה באובייקט ה.Recordset-
על מנת לנוע בתוך טבלת המידע נשתמש בפעולת ה-
.Move
Move יקבל פרמטר מספרי בודד שמגדיר את מספר
הצעדים אליו יוזז סמן ה.Recordset-
נשים לב כי המיקום הנו יחסי למיקום האחרון של הסמן:
objRdst.Move 20
חשוב לזכור כי אופי התזוזה שניתן לבצע ,תלוי בסוג השליפה שביצענו.
Cursorמסוג
לא נוכל לזוז אחורה (להציב ערך מספרי שלילי )Forward-Only (adOpenForwardOnly
MoveFirst, MoveLast, MoveNext, MovePrevious
AbsolutePosition
מידע על מיקומנו הנוכחי AbsolutePosition -
כאשר נרצה לדעת מה מיקומנו הנוכחי ביחס לתחילת
הטבלה
המספר שיוחזר יהיה מספר שלם שיציין את מיקומו
הנוכחי של הסמן ביחס ל Record-הראשון בטבלת
המידע:
lngX = objRdst.AbsolutePosition
משמעות
ערך ( +שם קבוע)
הטבלה ריקה.
adPosUnkown : -1
גלישה בתחילת הטבלה.
adPosBOF : -2
גלישה בסוף הטבלה.
adPosEOF : -3
EOF- וBOF-שימוש ב
)Beginning of File( BOF
.)End of File( EOF
blnFlag = objRdst.EOF
blnFlag = objRdst.BOF
דוגמא מסכמת – תנועה בטבלה
.התוכנית הבאה תדגים כיצד ניתן לבצע תנועה מתחילת טבלת המידע ועד סופה
1.
2.
3.
Set objCon = Server.CreateObject ("ADODB.Connection")
ObjCon.open "ordersdsn”
Set objRdst = objCon.Execute )“Customers”(
ObjRdst.MoveFirst
4.
5.
6.
Do Until objRdst.EOF
ObjRdst.MoveNext
Loop
ASP
RecordSet Object & ADO : 5שיעור
www.doronamir.com
MCSD DORON AMIR