Visual Basic 6 และการใช้ Dynaset ต่างๆ (Using Dynasets)
Dynaset เป็นสารสนเทศจากหนึ่งหรือมากกว่าหนึ่งตารางในฐานข้อมูล
สารสนเทศนี้ประกอบด้วยฟิลด์ต่างๆ ที่เลือกจากตารางต่างๆ ตามเงื่อนไขที่ระบุ
Dynaset จะกำหนดที่อยู่ของเรคร์ดต่างๆ ในตาราง
เมื่อ Dynaset ถูกสร้างขึ้น Dynaset
จะช่วยให้ผู้ใช้สามารถปรบปรุงเรคอรดต่างๆ แล้วบรรจุไว้ในฐานข้อมูล
อย่างไรก็ตามไม่สามารถเพิ่มหรือลบเรคอร์ดที่ดำเนินการโดยผู้ใช้อื่นหรือโปรแกรมอื่นโดยอัตโนมัติภายหลังที่
Dynaset ได้ถูกสร้างขึ้น ดังนั้น Dynaset ต่างๆจะมีประโยชนน้อยสำหรับบางแอพพลิเคชั่นที่ใช้งานหลายคน
การติดตั้ง Dynaset (Setting Up a
Dynaset) : การติดตั้ง Dynaset สำหรับใช้ภายในโปรแกรมท่านจำเป็นต้องกำหนด
Recordset พร้อมกับคำสั่ง dim แล้วสร้าง
Dynaset โดยการใช้เมธอด OpenRecordset พร้อมกับพารามิเตอร์
dbOpenDynaset
เมื่อท่านกำลังสร้าง Dynaset ส่วนคีย์ของเมธอด OpenRecordset เป็นคำสั่งของ SQL
ซึ่งกำหนดเรคอร์ดต่างๆ ตามที่ต้องการ
เงื่อนไขของตัวกรอง (Filter), เงื่อนไขของการเรียงลำดับ,
และเงื่อนไขการเชื่อมโยงกันของข้อมูลจากหลายตาราง
โค้ดต่อไปนี้ แสดงวิธีการสร้าง Dynaset โดยการใช้คำสั่ง SQL ระบุเงื่อนไขในการจัดการเรคอร์ดต่างๆ
Dim ThisDb as Database
Dim ThisRs As Recordset
Dim sSQL As String
Set ThisDB=OpenDatabase(“Biblio.md”)
sSQL=”SELECT*FROM titles WHERE title<=’J’ ORDER BY title”
Set ThisRS=ThisDB.OpenRecordset(sSQL,dbOpenDynaset)
ถ้าต้องการตารางต่างๆ ทั้งหมดในตารางเดียวใน Dynaset
ท่านสามารถละเว้นการใช้คำสั่งของ SQL และใช้ชื่อตาราง
title ดังนี้
Dim dbBusiness As Database
Dim rsSales As Recordset
Set rsSales =dbBusiness.OpenDatabase(“titles”)
*** การใช้คำสั่ง SQL เป็นความคิดที่ดี
ในกรณีที่ท่านต้องการปรับปรุงเรคอร์ดต่างในภายหลัง
เมื่อเราสร้าง Dynaset เราสามารถใช้คำสั่งของ
SQL เลือกเรคอร์ดต่างๆ
เรายังสามารถระบุเงื่อนไขต่างๆที่มีผลกระทบต่อพฤติกรรมของ Dynaset ได้ดังนี้
พารามิเตอร์ กิจกรรม
DbDenyWrite ป้องกันผู้ใช้อื่นๆ
ไม่ให้เขียนลงใน Dynaset ขณะที่เราเปิดใช้งาน
dbReadOly ป้องกันเราไม่ให้เปลี่ยนแปลง
Dynaset
dbAppendOnly ช่วยเพิ่มเรคอร์ดใหม่ต่างๆ
แต่ป้องกันเราจากการอ่านหรือปรับปรุงเรคอร์ดต่างๆ ที่ได้สร้างไว้แล้ว
dbSQLPassThrough ผ่านคำสั่งของ SQL
ที่ใช้สร้าง Dynaset ไปให้เซิร์ฟเวอร์ของฐานข้อมูลของ
ODBC เพื่อดำเนินการ
Source code ต่อไปนี้ เป็น
ตัวอย่างแสดงวิธีการสร้าง Recordset ประเภท Dynaset ที่อนุญาตผู้ใช้อ่านสารสนเทศในฐานข้อมูลได้อย่างเดียวเท่านั้น
Dim dbBusiness As
Database
Dim rsSales As Recordsed
Set dbBusiness=OpenDabase(“Biblio.mdb”)
Set rsSales=dbBusiness.OpenRecordset(“SELECT * FROM titles”,
_ dbOpenDynaset, dbReadOnly)
*** เซิร์ฟเวอร์ (Server) ของ
ODBC เป็นกลไกของฐานข้อมูล เช่น Microsoft SQL Server หรือ Oracle ที่สอดคล้องกับ ODBC (Open
Database Connectivity) มาตรฐาน
วัตถุประสงค์ของเซิร์ฟเวอร์ก็เพื่อดำเนินการเชื่อมโยงแบบสอบถามในเซิร์ฟเวอร์
และส่งกลับไปยังคอมพิวเตอร์ลูกข่าย (client) เฉพาะผลลัพธ์ต่างๆ
ของแบบสอบถาม, ไดรเวอร์ (Driver) ต่างๆ ของ ODBC ซึ่งปกติจะเขียนด้วยเจ้าของกิจการกลไกฐานข้อมูล เพื่อใช้เชื่อมโยงระหว่าง Visual
Basic และเซิร์ฟเวอร์ของฐานข้อมูล ขณะนี้ ODBC มีความก้าวหน้ามาก ท่านสามารถใช้เชื่อมโยงไปยังสารสนเทศบนเซิร์ฟเวอร์ต่างๆ
ของฐานข้อมูล โดยไม่ต้องทราบการทำงานภายในกลไกนั้นๆ
ท่านสามารถสร้าง Dynaset จาก
Dynaset อื่น และยังสามารถใช้ Properties Filter และ Sort ของ Dynaset แรกระบุเรคอร์ดต่างๆ
ที่ต้องการและแสดงตามเงื่อนไขต่างๆของ Dynaset ที่สอง
Source code ต่อไปนี้ เป็นตัวอย่างวิธีการสร้าง Dynaset
จากตารางลูกค้าให้ Mailling list Dynaset ที่สองสร้างขึ้นเฉพาะลูกค้าที่อาศัยอยู่ใน
Tennessee และเรียงลำดับตามรหัสไปรษณีย์ ดังนี้
Dim dbMailList As Database
Dim rsCustomer As Recordset
Dim rsTenCust As Recordset
Set dbMailList =OpenDatabase(“sDBLocation”)
Set rsCustomer=dbMailList.OpenRecordset(“Customers”),
dbOpenDynaset)
rsCustomers.Filter=”state=’TN’ “
rsCustomers.Sort=”ZIPS”
สองคำสั้งท้ายสุด ได้สร้าง Dynaset ที่สองพร้อมระบุสารสนเทศที่ต้องการต่างๆจาก dynaset แรก
ทำให้ dynaset ที่สองแสดงลูกค้าทั้งหมดจาก Tennessee ได้รวดเร็วมาก