Visual Basic 6.0 และ การใช้ Snapshot ต่าง (Using Snapshots)
ใน Visual Basic 6.0 Snapshot
เป็นชื่อที่มีความหมายเป็นภาพหรือสำเนาข้อมูลในกลุ่มเรคอร์ด (Recrodset)
ที่เวลาใดเวลาหนึ่งโดยเฉพาะ
Snapshot คล้ายกับ Dynaset ตรงที่สร้างจากตารางต่างๆ, การใช้คำสั่งของ SQL, หรือ
จาก QueryDef, dynaset หรือ snapshot อื่น
snapshot ต่างจาก dynaset ตรงที่มันไม่สามารถปรับปรุงได้
ตัวอย่าง Source Code ต่อไปนี้
ได้แสดงวิธีการสร้างกลุ่มเรคอร์ด (Record) ประเภท Snapshot
เอาไว้คือ
Set ThisRS=ThisDB.OpenRecordset(sSQL,dbOpenSnapshot)
*** Snapshot จะนำข้อมูลในแต่ละเรคอร์ดออกมาแสดงได้เร็วกว่า
Dynaset เพราะว่า snapshot จะใช้วิธีสำเนาข้อมูล
แต่ dynaset จะใช้วิธีกำหนดพอยน์เตอร์ (pointer) ชี้ไปที่ข้อมูล
Snapshot ไม่สามารถปรับปรุง recordset
***เราควรใช้ snapshot ส่งกลับกลุ่มเรคอร์ดเล็กๆเท่านั้น
เพื่อไม่ให้เกิดปัญหากับหน่วยความจำต่างๆ
การติดตั้ง snapshot (Setting Up a
Snapshot) เราสามารถสร้าง snapshot โดยการกำหนดออปเจ็คต์
Recordset กับคำสั่ง Dim
แล้วใช้ เมธอด OpenRecordset พร้อมพารมิเตอร์ dbOpenSnapshot เพื่อกำหนดเรคอร์ดต่างๆให้ออปเจ็คต์
dynaset จะอนุญาตท่านสามารถระบุพารามิเตอร์ต่างๆในเมธอด OpenRecordset
ดังนี้
dbDenyWrite ป้องกันผู้ใช้อื่นๆ ไม่ให้เขียนลงใน dynaset ในขณะที่เราเปิดใช้งานอยู่
dbForwardOnly สนับสนุนให้เลื่อนผ่าน snapshot
ไปข้างหน้าเท่านั้น
dbSQLPassThrough ผ่านคำสั่งของ SQL ที่ใช้สร้าง snapshot ไปให้ฐานข้อมูลของ ODBC
เพื่อดำเนินการ