ส่วนที่ 3 โมเดลการเขียนโปรแกรม ADO ( ActiveX Data Objects)
ตามที่อธิบายไว้ในบทความ "การแนะนำ ADO ใน Delphi" ADO คือชุดของคอมโพเนนต์ COM (Component Object Model) (DLL) ที่ช่วยให้คุณเข้าถึงฐานข้อมูล เช่น อีเมลและระบบไฟล์ แอปพลิเคชันที่เขียนโดยใช้ ADO ไม่จำเป็นต้องมี BDE ในการใช้ ADO เพื่อเข้าถึงฐานข้อมูลต่างๆ คุณต้องมีไลบรารี ADO/OLE DB (Object Linking and Embedding) สิ่งที่คุณต้องใช้ ADO อาจมีอยู่แล้วในคอมพิวเตอร์ของคุณ: ไฟล์เหล่านี้เผยแพร่โดย Microsoft โดยเป็นส่วนหนึ่งของ Windows 98/2000 หากคุณใช้ Windows 95 หรือ NT คุณอาจต้องแจกจ่ายหรือติดตั้งกลไก ADO แผ่นซีดี Delphi 5 มีไฟล์การติดตั้งสำหรับ MDAC-Microsoft Data Access Components คุณควรตรวจสอบให้แน่ใจว่าคุณใช้ MDAC เวอร์ชันล่าสุด ซึ่งหาได้จากเว็บไซต์อย่างเป็นทางการของ Microsoft MDAC เป็นเทคโนโลยีสำคัญที่ทำให้ Universal Data Access ทำงานได้ ประกอบด้วย ActiveX Data Objects (ADO), OLE DB และ Open Database Connectivity (ODBC)
หมายเหตุ: เพื่อให้ติดตั้งได้อย่างถูกต้องบนคอมพิวเตอร์ Windows 95 MDAC จำเป็นต้องมีการติดตั้ง DCOM95 (Distributed Component Object Model) เพื่อการลงทะเบียนที่ถูกต้อง ส่วนประกอบที่ติดตั้งโดย MDAC ขึ้นอยู่กับ DLL ที่ติดตั้งโดย DCOM95 โปรดทราบว่าไม่จำเป็นต้องใช้ DCOM95 ใน NT4.0 ในบางกรณี ไม่จำเป็นต้องติดตั้ง DCOM ในคอมพิวเตอร์ที่ใช้ Windows แต่หากไม่ได้ติดตั้ง ควรติดตั้ง DCOM98 ก่อนติดตั้ง MDAC
ไม่จำเป็นต้องหารือเกี่ยวกับ OLE DB และ ADO มากเกินไป ให้เราย้ายไปยังประเด็นที่เป็นประโยชน์มากขึ้น
วัตถุ ADO
โมเดลการเขียนโปรแกรม ADO สร้างขึ้นจากออบเจ็กต์ ADO หลายรายการซึ่งมีหลายวิธีในการเข้าถึงออบเจ็กต์ข้อมูลต่างๆ ออบเจ็กต์เหล่านี้มีฟังก์ชันการเชื่อมต่อกับแหล่งข้อมูล แบบสอบถามและอัปเดตชุดระเบียน และรายงานข้อผิดพลาด Delphi เข้าถึงออบเจ็กต์เหล่านี้ผ่านส่วนประกอบที่ห่อหุ้มผ่านส่วนประกอบ VCL ต่างๆ ลองดูที่วัตถุที่ทำงานกับ ADO:
ออบเจ็กต์ การเชื่อมต่อ ที่เชื่อมต่อกับแหล่งข้อมูลผ่านสตริงการเชื่อมต่อ ใน BDE/Delphi วัตถุการเชื่อมต่อคือการรวมกันของส่วนประกอบฐานข้อมูลและส่วนประกอบของเซสชัน
คำสั่ง (Command) วัตถุช่วยให้เราสามารถดำเนินการแหล่งข้อมูล อธิบายคำสั่ง (ซึ่งถือเป็นแบบสอบถามหรือคำสั่ง) ที่สามารถจัดการการเพิ่ม ลบ การสอบถาม หรืออัปเดตข้อมูลฐานข้อมูลได้
วัตถุ ชุดระเบียน (ชุดระเบียน) เป็นผลมาจากคำสั่งแบบสอบถาม (แบบสอบถาม) คุณสามารถนึกถึง Recordset ว่าเป็นส่วนประกอบของตาราง Delphi (ตาราง) หรือส่วนประกอบแบบสอบถาม (Query) แต่ละแถวที่ส่งกลับโดย ชุดระเบียน จะมีวัตถุเขตข้อมูลหลายรายการ
วัตถุอื่นๆ อีกหลายรายการที่มีอยู่ในแบบจำลอง ADO ได้แก่: วัตถุฟิลด์ วัตถุพารามิเตอร์ และวัตถุข้อผิดพลาด—เราจะกลับมาพูดถึงวัตถุเหล่านั้นในบทต่อไปนี้
ส่วนที่ 4 ใช้ ADOExPRess เพื่อเชื่อมต่อกับฐานข้อมูล
ก่อนที่จะให้คำอธิบายสั้น ๆ ของแต่ละองค์ประกอบของคอลเลกชัน ADOExpress ให้เราเข้าใจวิธีเชื่อมต่อกับฐานข้อมูล Access ก่อน แน่นอน แน่นอนว่าเราจะเชื่อมต่อกับฐานข้อมูลตัวอย่างของเรา - AboutDelphi.mdb (เพิ่มเติมของผู้แปล: ฐานข้อมูลที่สร้างขึ้นในบทที่แล้ว)
Delphi(5) รองรับ ADO เป็นหลักผ่านส่วนประกอบ ADOExpress บนหน้า ADO ของแผงส่วนประกอบ ส่วนประกอบที่รองรับฐานข้อมูลอื่นๆ อีกหลายรายการจะถูกนำมาใช้ในหลักสูตรนี้ ในตอนนี้ เราจะเน้นไปที่ชุดส่วนประกอบขั้นต่ำที่จำเป็นในการเข้าถึงฐานข้อมูล Access ด้วย ADO
เรียกใช้ Delphi และสร้างแอปพลิเคชันใหม่ด้วยแบบฟอร์มเปล่า
ในการเข้าถึงข้อมูลฐานข้อมูล Access ผ่าน ADO และ Delphi คุณต้องเพิ่มองค์ประกอบการรับรู้ข้อมูลอย่างน้อยสามองค์ประกอบในโครงการของคุณ อย่างแรกคือ DBGrid ของหน้าคอมโพเนนต์ DataControls ซึ่งใช้เพื่อเรียกดูเรกคอร์ดที่ได้รับจากตารางหรือผ่านการสืบค้น ประการที่สองคือ DataSource (หน้าการเข้าถึงข้อมูล DataAccess) ซึ่งใช้ในการเชื่อมต่อชุดข้อมูลและส่วนประกอบ DBGrid บนแบบฟอร์ม ดังนั้นจึงทำให้เกิดการรับรู้ การนำทาง และการแก้ไขข้อมูลชุดข้อมูลที่เป็นไปได้ สุดท้ายมี ADOTable (หน้า ADO) ซึ่งแสดงตารางที่ได้รับจากฐานข้อมูล ADO ลากและวางทั้งหมดบนแบบฟอร์ม (แบบฟอร์ม) และชื่อส่วนประกอบจะใช้ค่าเริ่มต้น ตอนนี้แบบฟอร์มควรมีลักษณะดังนี้:
หากคุณรันโปรแกรมตอนนี้ จะไม่มีข้อมูลใดปรากฏใน Grid แน่นอน เนื่องจากเราไม่ได้เชื่อมต่อกับฐานข้อมูลจริงๆ โปรดทราบอีกประเด็นหนึ่ง: มองเห็นได้เฉพาะกริด ส่วนอีกสององค์ประกอบไม่สามารถมองเห็นส่วนควบคุมได้
การเชื่อมโยงระหว่างส่วนประกอบ
เพื่อที่จะแสดงข้อมูลจากฐานข้อมูล เราต้องเชื่อมต่อองค์ประกอบสามส่วนเข้าด้วยกัน ทำการตั้งค่าต่อไปนี้ในตัวตรวจสอบวัตถุ:
DBGrid1.DataSource = แหล่งข้อมูล1;
DataSource1.DataSet = ADOTable1;
ตอนนี้เรามาถึงส่วนที่ยากแล้ว เพื่อที่จะรับข้อมูลจากฐานข้อมูลจริงๆ เราต้องสร้าง ConnectionString สตริงนี้ระบุตำแหน่งที่เก็บข้อมูลจริงของฐานข้อมูลและวิธีการเข้าถึง เมื่อคุณดับเบิลคลิกปุ่มจุดไข่ปลาของคุณสมบัติ ConnectionString ของคอมโพเนนต์ AdoTable คุณจะได้รับกล่องโต้ตอบต่อไปนี้:
Data Source=C:/!gajba/About/aboutdelphi.mdb;
Persist Security Info=False
เพื่อให้การออกแบบเสร็จสมบูรณ์ เราต้องตั้งชื่อตารางให้เข้าถึงได้ผ่านส่วนประกอบ ADOTable อีกครั้งโดยใช้ Object Inspector ADOTable1.TableName = applications หากคุณต้องการดูข้อมูลฐานข้อมูลในขณะออกแบบ ให้ใช้คุณสมบัติ Active ของ ADOTable โดยตั้งค่าเป็น True ฮ่า! หากคุณทำตามขั้นตอนทั้งหมดข้างต้นแล้ว คุณจะเห็นว่าตารางแอปพลิเคชันมีเพียงระเบียนเดียว (แถว) เมื่อคุณเรียกใช้แอปพลิเคชัน คุณยังสามารถเปลี่ยนแปลงข้อมูลในฐานข้อมูลได้อีกด้วย แน่นอนว่าคุณไม่สามารถทำอะไรได้มากกว่านั้นได้ นี่เป็นตัวอย่างที่ง่ายที่สุดของ ADO ที่ฉันนึกออก ตอนนี้สามารถสรุปส่วนนี้ได้แล้ว ในบทถัดไป เราจะพูดถึงส่วนประกอบ ADO ทั้งหมดที่ Delphi ให้มา และวิธีที่พวกมันสื่อสารกับส่วนประกอบที่รับรู้ข้อมูลที่เหลือ เพื่อสร้างแอปพลิเคชันฐานข้อมูล Delphi ที่ทรงพลังยิ่งขึ้น 22 ธันวาคม 2545 20:14 น