ActiveX Data Objects (ADO) מרצה : דורון אמיר MCSD Doron Amir
Overview of ActiveX Data Objects (ADO) ADO מאפשר לגשת ולתפעל נתונים ממקור נתונים ADO מספק אובייקטים לניהול נתונים ADO מספק ממשק ויזואלי לניהול מסד הנתונים ADO מאפשר כתיבת קוד עבור ניהול מסד הנתונים ADO תומך בפלטפורמות תכנות שונות Microsoft Visual Basic Microsoft Visual InterDev Microsoft Visual C++ Microsoft Visual J++ Microsoft Visual FoxPro Microsoft VBScript ADO OLE DB DATA STORE
ADO Object Model Connection ERRORS Recordset FIELDS Command PARAMETERS PROPERTIES 1.אובייקט הקישור יוצר התקשרות אל מסד הנתונים 2.מאפשר לשלוח פקודות למסד הנתונים 3.מאפשר לקבל רשומות. Connection Object
Recordset object 1.מייצג קבוצת רשומות המוחזרות ממסד הנתונים,טבלה או תוצאת שאילתה 2.מכיל אובייקטים ומאפיינים לניהול מערך הרשומות (BOF,EOF,MoveNext) 3.מכיל מאפייני גישה לערכי השדות Value Property BOF USERPASSNAME userD111DORON userA222AMIR EOF
Fields Collection Recotdset מכיל אוסף Fields המייצג את העמודות במערך הרשומות BOF USERPASSNAME userD111DORON userA222AMIR EOF FIELD
Value Property מאפשר לגשת אל ערכי השדות במערך הרשומות BOF USERPASSNAME userD111DORON userA222AMIR EOF
Command Object 1.ADO Command Object מאפשר להפעיל פקודות על מסד הנתונים 2.מחרוזת שאילתה (Query String) 3.שם פרוצדורה מאוחסנת (Store Procedure) Select * From MyTable COMMAND אוסף המכיל פרמטרים עבור Stored Procedure / Query Parameters Parameters Collection אוסף לטיפול בשגיאות המתאר וממספר את ייצוג השגיאה Errors Collection
Connecting to a data source (Connection Object) Connecting to a data source (Connection Object) חיבור וניתוק ממסד הנתונים pubs
Add References … Microsoft ActiveX Data Objects 2.0 Library
Must Add References … ללא הפנייה לא ניתן להגדיר אובייקט התקשרות או כל אובייקט ADO
הגדרת אובייקט קישור + אובייקט מערך רשומות
Connection For SQL Server יצירת מופע 1.ספק 2.אבטחה 3.שם השרת 4.שם מסד הנתונים הודעת התחברות
Retrieving data from a data source (Record Set Object) (Create Recordset & Sql Quert) Retrieving data from a data source (Record Set Object) (Create Recordset & Sql Quert) Open MethodSQL QueryConnection Object
Binding Data & TextBox Controls 1.חיבור הפקד אל מערך הרשומות ע"י Set 2.קישור השדה המיועד
Close & Free Your Objects
OLE-DB Data Provider
Handling data access errors
Error Handler !!! Private Sub cmdConnect_Click() Dim adoErr As Error On Error GoTo ErrHandler:.. … Exit Sub ErrHandler: For Each adoErr In cnPubs.Errors MsgBox "Hi You have Error !!!" & adoErr.Description, vbCritical, "Employee Information" Next End Sub My Connection Code Create an Err Object Go To an ErrHandler Label ErrHandler Label עבור כל שגיאה נקבל תיאור אובייקט השגיאה נמצא באובייקט הקישור
Sorting and searching data
Cursor Location Set rsEmployee = New Recordset rsEmployee.CursorLocation = adUseClient 1.מאחסן את הרשומות במחשב הלקוח 2.מאפשר לנוע קדימה וחזרה ברשומות 3.ללא מאפיין זה לא ניתן לנווט לאחור
MoveNext Private Sub cmdNext_Click() rsEmployee.MoveNext If rsEmployee.EOF Then rsEmployee.MoveLast End If End Sub
Move Previous Private Sub cmdPrevious_Click() rsEmployee.MovePrevious If rsEmployee.BOF Then rsEmployee.MoveFirst End If End Sub
Sort Method Private Sub cmdSort_Click() ‘Check to see if a sort has been applied If rsEmployee.Sort = "" Then ‘No sort, so create one on the author's last name rsEmployee.Sort = "lname DESC" Else ‘There is a sort, so turn it off rsEmployee.Sort = "" End If End Sub
Updating data
Updating rsEmployee.Open "Select emp_id, fname, " & _ “lname from employee ", cnPubs, _ adOpenKeyset, adLockOptimistic adOpenKeyset & adLockOptimistic Private Sub cmdUpdate_Click() Dim Answer As Integer Answer = MsgBox("Do you want update ? ", vbYesNo + vbQuestion, "Update") If Answer = vbYes Then rsEmployee.Update End If End Sub Update Method
ActiveX Data Objects (ADO) מרצה : דורון אמיר MCSD Doron Amir