24

สถาปัตยกรรม ActiveX Data Object (ADO)

Embed Size (px)

DESCRIPTION

สถาปัตยกรรม ActiveX Data Object (ADO). ADO คือรูปแบบใหม่ของการติดต่อกับฐานข้อมูลอีกวิธีหนึ่ง แนวทางของ Universal Data Access ( UDA) สะดวกและง่ายขึ้น OLE DB เป็นตัวจัดการสามารถทำให้เข้าถึงข้อมูลได้ในทุก ๆ ที่ และ. การแก้ปัญหาการเข้าถึงข้อมูลแบบกระจาย. - PowerPoint PPT Presentation

Citation preview

Page 1: สถาปัตยกรรม  ActiveX  Data  Object (ADO)
Page 2: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

สถาปั�ตยกรรม ActiveX Data Object (ADO)

• ADO คื อร�ปัแบบใหม�ของการต�ดต�อก�บฐานข�อม�ลอ�กวิ�ธี�หน!"ง

• แนวิทางของ Universal Data Access (UDA) สะดวิกและง�ายข!%น

• OLE DB เปั'นต�วิจั�ดการสามารถท)าให�เข�าถ!ง ข�อม�ลได�ในท+ก ๆ ท�" และ

Page 3: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

• วิ�ธี�การ 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

การแก�ปั�ญหาการเข�าถ!งข�อม�ลแบบกระจัาย

Page 4: สถาปัตยกรรม  ActiveX  Data  Object (ADO)
Page 5: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ActiveX Data Object (ADO) ObjectObjects ท�%ง 7 ของ ADO ม�ด�งน�%

- Connection - Command - Parameter

- Recordset - Field - Property

- Error

Collections ท�%ง 4 ของ ADO ม�ด�งน�%- Field - Properties- Parameter - Error

Page 6: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ActiveX Data Object (ADO) Object

•Connection, Recordset และCommand เปั'นส�วินท�"ส)าคื�ญท�"ส+ดและใช้�งานมาก

ท�"ส+ด ท�%งสามต�วิเปั'น object ในระด�บบนส+ดไม�ข!%น ก�บ object อ "น ๆ จั!งสามารถสร�างและท)าลาย

object ท�%งสามน�%ได�โดยตรง• ส)าหร�บ Parameter object ท)างานเปั'นอ�สระก0

จัร�งแต�เวิลาจัะน)ามาใช้�งาน ต�องใช้�งานร+ �มก�บCommand object เท�าน�%น

Page 7: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ActiveX Data Object (ADO) Object (ต�อ)

• ส)าหร�บ Field , Error และ Property object ไม�สามารถท)างานได�โดยตรง แต�จัะสร�างได�เม "อม�

Object ระด�บบนอย��ก�อนแล�วิ• ใช้� Connection Object ส)าหร�บสร�างการเช้ "อม

ต�อระหวิ�างต�วิ Application ก�บ Database source• ใช้� Command object เม "อต�องการส�งคื)าส�"งท�"

จัะกระท)าก�บ Data source เช้�น Queries , Update เปั'นต�น

Page 8: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ActiveX Data Object (ADO) Object (ต�อ)

• ใช้� Recordset Object ในการจั�ดการก�บข�อม�ล ท�"ได�มาจัากคื)าส�"งท�"ส�งโดย Command object

ล�กษณะของคื)าส�"งท�"ส�งโดยใช้� Command object จัะข!%นอย��ก�บช้น�ดของ OLE DB Provider ท�"เช้ "อมต�อ• ใช้� parameter Object ก0ต�อเม "อคื)าส�"งท�"จัะ

ท)าการส�งโดยใช้� Command object ม�parameter อย��ด�วิยโดยจัะก)าหนดคื�าและช้น�ด

ของ parameter ผ่�านทาง parameter object

Page 9: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

Connection Connection objectobject

Page 10: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ConnectionConnection Object Object• เปั'น object ท�"ใช้�ต�ดต�อก�บ Data source • เปั'น object ใช้�ในการเร�"มต�นการเช้ "อมต�อก�บData source • เปั'น object ท�"สามารถ run queries และท)าTransaction

Page 11: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

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” ซึ่!"งไม�ม�รห�สผ่�าน

Page 12: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

การส่�งคำ�าส่งไปยัง 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 )

Page 13: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

การส่�งคำ�าส่งไปยัง Data sources ด้�วยัConnection Object

รายละเอ�ยดของ ParametersCommandTextCommandText คื อต�วิแปัรช้น�ด String ท�"ม� SQL

statement, stored procedure หร อช้ "อ TableRecordsAffectedRecordsAffected คื อต�วิแปัรช้น�ด Long ซึ่!"ง Data

provider ส�ง กล�บมา เพั "อแจั�งวิ�าคื)า ส�"งท�" Execute ไปัน�%ม�ผ่ลก�บ

Record จั)านวินเท�าไรOptionsOptions คื อ ต�วิแปัรช้น�ด Long ท�"บ�งบอก

ช้น�ดของคื)าส�"ง ใน Command Text

Page 14: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

การส่�งคำ�าส่งไปยัง Data sources ด้�วยัConnection Object

ช้น�ดของคื)าส�"งใน CommandText

คื�าคืงท�"คื�าคืงท�" คืวิามหมายคืวิามหมายadCmdText SQL Statement ธีรรมดาadCmdTable ช้ "อ TableadCmdStoredProc ช้ "อ Stored procedureadCmdUnknown ไม�ทราบช้น�ดของCommandText

Page 15: สถาปัตยกรรม  ActiveX  Data  Object (ADO)
Page 16: สถาปัตยกรรม  ActiveX  Data  Object (ADO)
Page 17: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

Command ObjectCommand Object

• ใช้�ส�งคื)าส�"งต�าง ๆ เช้�น–SQL Statement–Stored Procedure

• ใช้�การเช้ "อมต�อท�"ม�อย��แล�วิโดยการสร�างConnection Object หร อ

•สามารถสร�างการเช้ "อมต�อใหม�ได�ด�วิยต�วิเอง

Page 18: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ActiveConnection PropertyActiveConnection Property

เปั'น property ท�"ใช้�ก)าหนดล�กษณะการเช้ "อมต�อก�บฐานข�อม�ล

ใช้�การเช้ "อมต�อท�"ม�อย��แล�วิ โดยก)าหนดคื�า ActiveConnection Property เปั'น

Connection Object ท�"ม�อย��แล�วิ สร�างการเช้ "อมต�อใหม� โดยก)าหนด

Connection String ให�ก�บ ActiveConnec tion Property

Page 19: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

การส�งคื)าส�"งไปัย�ง การส�งคื)าส�"งไปัย�ง 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

Page 20: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ร�ปัแบบของ ร�ปัแบบของ 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)

Page 21: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

Parameters Parameters ของ ของ Execute Execute MethodMethodCommandTextCommandText คื อต�วิแปัรช้น�ด String ท�"ม�SQL statement , stored procedure

หร อช้ "อ TableRecordsAffectedRecordsAffected คื อต�วิแปัรช้น�ด Long

ซึ่!"ง Data provider ส�งกล�บมา เพั "อแจั�ง วิ�าคื)าส�"งท�" Execute ไปัน�%ม�ผ่ล ก�บ Record

จั)านวินเท�าไรOptionsOptions คื อ ต�วิแปัรช้น�ด Long ท�"บ�งบอกช้น�ดของคื)าส�"ง ใน Command Text

Page 22: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ช้น�ดของคื)าส�"งใน ช้น�ดของคื)าส�"งใน CommandTextCommandText

คื�าคืงท�"คื�าคืงท�" คืวิามหมายคืวิามหมายadCmdText SQL Statement

ธีรรมดาadCmdTable ช้ "อ TableadCmdStoredProc ช้ "อ Stored

procedureadCmdUnknown ไม�ทราบช้น�ด

ของ CommandText

Page 23: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

การใช้�งาน การใช้�งาน Stored ProcedureStored Procedure

ใช้� Execute Method ต�องก)าหนดช้น�ดของคื)าส�"งให�เปั'น Stored

Procedure ด�วิยการใช้�คื�าคืงท�"adCmdStoreProc

Page 24: สถาปัตยกรรม  ActiveX  Data  Object (ADO)

ต�วิอย�างโปัรแกรม ต�วิอย�างโปัรแกรม :: การเร�ยกใช้� การเร�ยกใช้� Stored Stored ProcedureProcedure

การเร�ยกใช้� Stored Procedure ด�วิยวิ�ธี� ADO Sp_TitlePub ในร�ปัแบบท�"ไม�ม�การส�ง

parameterSp_Isbn ม�การส�ง parameterSp_Insert_Titles เพั�"มข�อม�ลลงในตารางTitles