Upload
uriel-middleton
View
35
Download
0
Embed Size (px)
DESCRIPTION
สถาปัตยกรรม ActiveX Data Object (ADO). ADO คือรูปแบบใหม่ของการติดต่อกับฐานข้อมูลอีกวิธีหนึ่ง แนวทางของ Universal Data Access ( UDA) สะดวกและง่ายขึ้น OLE DB เป็นตัวจัดการสามารถทำให้เข้าถึงข้อมูลได้ในทุก ๆ ที่ และ. การแก้ปัญหาการเข้าถึงข้อมูลแบบกระจาย. - PowerPoint PPT Presentation
Citation preview
สถาปั�ตยกรรม ActiveX Data Object (ADO)
• ADO คื อร�ปัแบบใหม�ของการต�ดต�อก�บฐานข�อม�ลอ�กวิ�ธี�หน!"ง
• แนวิทางของ Universal Data Access (UDA) สะดวิกและง�ายข!%น
• OLE DB เปั'นต�วิจั�ดการสามารถท)าให�เข�าถ!ง ข�อม�ลได�ในท+ก ๆ ท�" และ
• วิ�ธี�การ Universal Data Storage คื อ การใช้�ฐานข�อม�ล ส�มพั�นธี/ (Relational Database) ในการเก0บข�อม�ลท+ก ๆ
ช้น�ด เช้�น Oracle , Sybase , Informix และMicrosoft เปั'นต�น
• วิ�ธี�การ Universal Data Access (UDA) คื อ การเข�าถ!ง ข�อม�ลในท�"ท�"ข�อม�ลบ�นท!กอย�� โดยอาศั�ย OLE DB เปั'นต�วิ
จั�ดการ• OLE DB เปั'นกล+�มคื)าส�"งของ Component Object
Model ( COM ) ท�"เปั'นทางเช้ "อมต�อไปัย�ง Data provider กล�าวิคื อ ถ�าข�อม�ลท�"จัะใช้�น�%นอย��บน Application
ใด ๆ ก0ตามท�"ม� Data provider ส)าหร�บ OLE DB ข�อม�ลน�%น ก0จัะสามารถเข�าถ!งได�โดยวิ�ธี�การ Universal Data Access
การแก�ปั�ญหาการเข�าถ!งข�อม�ลแบบกระจัาย
ActiveX Data Object (ADO) ObjectObjects ท�%ง 7 ของ ADO ม�ด�งน�%
- Connection - Command - Parameter
- Recordset - Field - Property
- Error
Collections ท�%ง 4 ของ ADO ม�ด�งน�%- Field - Properties- Parameter - Error
ActiveX Data Object (ADO) Object
•Connection, Recordset และCommand เปั'นส�วินท�"ส)าคื�ญท�"ส+ดและใช้�งานมาก
ท�"ส+ด ท�%งสามต�วิเปั'น object ในระด�บบนส+ดไม�ข!%น ก�บ object อ "น ๆ จั!งสามารถสร�างและท)าลาย
object ท�%งสามน�%ได�โดยตรง• ส)าหร�บ Parameter object ท)างานเปั'นอ�สระก0
จัร�งแต�เวิลาจัะน)ามาใช้�งาน ต�องใช้�งานร+ �มก�บCommand object เท�าน�%น
ActiveX Data Object (ADO) Object (ต�อ)
• ส)าหร�บ Field , Error และ Property object ไม�สามารถท)างานได�โดยตรง แต�จัะสร�างได�เม "อม�
Object ระด�บบนอย��ก�อนแล�วิ• ใช้� Connection Object ส)าหร�บสร�างการเช้ "อม
ต�อระหวิ�างต�วิ Application ก�บ Database source• ใช้� Command object เม "อต�องการส�งคื)าส�"งท�"
จัะกระท)าก�บ Data source เช้�น Queries , Update เปั'นต�น
ActiveX Data Object (ADO) Object (ต�อ)
• ใช้� Recordset Object ในการจั�ดการก�บข�อม�ล ท�"ได�มาจัากคื)าส�"งท�"ส�งโดย Command object
ล�กษณะของคื)าส�"งท�"ส�งโดยใช้� Command object จัะข!%นอย��ก�บช้น�ดของ OLE DB Provider ท�"เช้ "อมต�อ• ใช้� parameter Object ก0ต�อเม "อคื)าส�"งท�"จัะ
ท)าการส�งโดยใช้� Command object ม�parameter อย��ด�วิยโดยจัะก)าหนดคื�าและช้น�ด
ของ parameter ผ่�านทาง parameter object
Connection Connection objectobject
ConnectionConnection Object Object• เปั'น object ท�"ใช้�ต�ดต�อก�บ Data source • เปั'น object ใช้�ในการเร�"มต�นการเช้ "อมต�อก�บData source • เปั'น object ท�"สามารถ run queries และท)าTransaction
Connection Object
• ใช้�ส)าหร�บสร�างส�วินเช้ "อมต�อก�บฐานข�อม�ล เพั "อส�งคื)าส�"งต�าง ๆ ไปั Execute เพั "อให�ได�ผ่ลล�พัธี/ โดยการสร�างอ7อบเจั0กต/
ส)าหร�บการต�ดต�อแล�วิใช้�เมธีอด Open เพั "อเปั8ดการเช้ "อมต�อน�%นSet Conn = Set Conn = Server.CreateObject(“ADODB.Connection”)Server.CreateObject(“ADODB.Connection”)
Conn.Open “MyDSN” , “admin” , “”Conn.Open “MyDSN” , “admin” , “”• บรรท�ดแรกเปั'นการสร�างอ7อบเจั0กต/ส)าหร�บการเช้ "อมต�อช้ "อ
Conn แล�วิเปั8ดการเช้ "อมต�อด�วิย เมธีอด Open โดยก)าหนด ช้ "อ Data Source Name เปั'น “MyDSN” และ เข�าต�ดต�อ
ด�วิย Log On name “เปั'น admin” ซึ่!"งไม�ม�รห�สผ่�าน
การส่�งคำ�าส่งไปยัง Data sources ด้�วยัConnection Object
ร�ปัแบบของ Execute method ม� 2 ร�ปัแบบ 1. ไม�ม�เซึ่ตของข�อม�ลกล�บมาจัาก Data sources
(non row-returning) connection.Execute CommandText, RecordsAffected, Options 2. ม�เซึ่ตของข�อม�ลกล�บมาจัาก Data sources (row-returning) Set recordset = connection.Execute (CommandText, RecordsAffected, Options )
การส่�งคำ�าส่งไปยัง Data sources ด้�วยัConnection Object
รายละเอ�ยดของ ParametersCommandTextCommandText คื อต�วิแปัรช้น�ด String ท�"ม� SQL
statement, stored procedure หร อช้ "อ TableRecordsAffectedRecordsAffected คื อต�วิแปัรช้น�ด Long ซึ่!"ง Data
provider ส�ง กล�บมา เพั "อแจั�งวิ�าคื)า ส�"งท�" Execute ไปัน�%ม�ผ่ลก�บ
Record จั)านวินเท�าไรOptionsOptions คื อ ต�วิแปัรช้น�ด Long ท�"บ�งบอก
ช้น�ดของคื)าส�"ง ใน Command Text
การส่�งคำ�าส่งไปยัง Data sources ด้�วยัConnection Object
ช้น�ดของคื)าส�"งใน CommandText
คื�าคืงท�"คื�าคืงท�" คืวิามหมายคืวิามหมายadCmdText SQL Statement ธีรรมดาadCmdTable ช้ "อ TableadCmdStoredProc ช้ "อ Stored procedureadCmdUnknown ไม�ทราบช้น�ดของCommandText
Command ObjectCommand Object
• ใช้�ส�งคื)าส�"งต�าง ๆ เช้�น–SQL Statement–Stored Procedure
• ใช้�การเช้ "อมต�อท�"ม�อย��แล�วิโดยการสร�างConnection Object หร อ
•สามารถสร�างการเช้ "อมต�อใหม�ได�ด�วิยต�วิเอง
ActiveConnection PropertyActiveConnection Property
เปั'น property ท�"ใช้�ก)าหนดล�กษณะการเช้ "อมต�อก�บฐานข�อม�ล
ใช้�การเช้ "อมต�อท�"ม�อย��แล�วิ โดยก)าหนดคื�า ActiveConnection Property เปั'น
Connection Object ท�"ม�อย��แล�วิ สร�างการเช้ "อมต�อใหม� โดยก)าหนด
Connection String ให�ก�บ ActiveConnec tion Property
การส�งคื)าส�"งไปัย�ง การส�งคื)าส�"งไปัย�ง Data Sources Data Sources ด�วิย ด�วิย Execute MethodExecute Method
อาจัได�ผ่ลล�พัท/เปั'น record set, multiple record set หร อไม�ม� record set กล�บมา ข!%นอย��ก�บวิ�าคื)าส�"งท�"ส�งไปัม�ล�กษณะอย�างไร
ถ�าเปั'น Select Statement ผ่ลล�พัท/จัะ ได�เปั'น Record Set
กล+�มคื)าส�"งน�%นเปั'นกล+�มของ Select Statement ผ่ลล�พัท/ท�"ได�จัะเปั'นmultiple record set
ร�ปัแบบการใช้�งานจัะเหม อนก�บConnection Object
ร�ปัแบบของ ร�ปัแบบของ Execute Execute Method Method ม�อย�� ม�อย�� 2 2 ร�ปัแบบร�ปัแบบ
ไม�ม�เซึ่ตของ ข�อม�ลกล�บมาจัาก Data Sources (no row-return)
Connection.Execute CommandText, RecordAffected, Options
ม�เซึ่ตของข�อม�ลกล�บมาจัาก Data Sources (row-return)
Set Recordset =
Connection.Execute(CommandText , RecordsAffected , Options)
Parameters Parameters ของ ของ Execute Execute MethodMethodCommandTextCommandText คื อต�วิแปัรช้น�ด String ท�"ม�SQL statement , stored procedure
หร อช้ "อ TableRecordsAffectedRecordsAffected คื อต�วิแปัรช้น�ด Long
ซึ่!"ง Data provider ส�งกล�บมา เพั "อแจั�ง วิ�าคื)าส�"งท�" Execute ไปัน�%ม�ผ่ล ก�บ Record
จั)านวินเท�าไรOptionsOptions คื อ ต�วิแปัรช้น�ด Long ท�"บ�งบอกช้น�ดของคื)าส�"ง ใน Command Text
ช้น�ดของคื)าส�"งใน ช้น�ดของคื)าส�"งใน CommandTextCommandText
คื�าคืงท�"คื�าคืงท�" คืวิามหมายคืวิามหมายadCmdText SQL Statement
ธีรรมดาadCmdTable ช้ "อ TableadCmdStoredProc ช้ "อ Stored
procedureadCmdUnknown ไม�ทราบช้น�ด
ของ CommandText
การใช้�งาน การใช้�งาน Stored ProcedureStored Procedure
ใช้� Execute Method ต�องก)าหนดช้น�ดของคื)าส�"งให�เปั'น Stored
Procedure ด�วิยการใช้�คื�าคืงท�"adCmdStoreProc
ต�วิอย�างโปัรแกรม ต�วิอย�างโปัรแกรม :: การเร�ยกใช้� การเร�ยกใช้� Stored Stored ProcedureProcedure
การเร�ยกใช้� Stored Procedure ด�วิยวิ�ธี� ADO Sp_TitlePub ในร�ปัแบบท�"ไม�ม�การส�ง
parameterSp_Isbn ม�การส�ง parameterSp_Insert_Titles เพั�"มข�อม�ลลงในตารางTitles