วัตถุ Recordset ของ ADO
- หน้าก่อน ADO Record
- หน้าต่อไป ADO Stream
ตัวอย่าง
- GetRows
- ตัวอย่างการใช้วิธี GetRows
Recordset ตัวแปร
ADO Recordset ตัวแปรใช้เพื่อรักษาชุดบันทึกที่มาจากตารางของฐานข้อมูล ตัวแปร Recordset ประกอบด้วยบันทึกและคอลัมน์ (ลูกฟิลด์)
ใน ADO ตัวแปรนี้เป็นที่สำคัญที่สุดและถูกใช้บ่อยที่สุดในการปฏิบัติการข้อมูลของฐานข้อมูล
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
เมื่อคุณเปิด Recordset ครั้งแรก ตัวชี้วัตถุบันทึกจะคงที่บันทึกแรก และตัวแปร BOF และ EOF จะมีค่า False หากไม่มีบันทึก ตัวแปร BOF และ EOF จะมีค่า True
Recordset อนุญาตให้สนับสนุนการปรับปรุงสองชนิด
- การปรับปรุงทันที - ทันทีที่เรียกใช้วิธี Update ทั้งหมดของการเปลี่ยนแปลงจะถูกเขียนเข้าฐานข้อมูลในทันที
- การปรับปรุงบัชช์ - provider จะทำการคั่นชั่งการเปลี่ยนแปลงหลายครั้ง แล้วใช้วิธี UpdateBatch ในการส่งความเปลี่ยนแปลงนั้นไปยังฐานข้อมูล
ใน ADO ได้มีการกำหนด 4 ชนิดคำสั่งย่อย (ตัวชี้วัตถุ) ต่าง ๆ
- คำสั่งย่อยหน้าต่างที่เคลื่อนไหว - อนุญาตให้คุณดูการเพิ่ม การเปลี่ยนแปลง และการลบของผู้ใช้คนอื่น
- คำสั่งย่อยเก็บค่า - คล้ายคำสั่งย่อยหน้าต่างที่เคลื่อนไหว แต่คุณไม่สามารถดูการเพิ่มของผู้ใช้คนอื่นได้ และมันจะป้องกันคุณจากการเข้าถึงบันทึกที่ผู้ใช้คนอื่นได้ลบไปแล้ว ความเปลี่ยนแปลงของข้อมูลที่ผู้ใช้คนอื่นทำยังเห็นได้
- ติดตามสถานะแบบสตาติก - ให้บันทึกสำเนาของ Recordset สำหรับค้นหาข้อมูลหรือสร้างรายงาน มากกว่านั้น การเพิ่มเติม การแก้ไขและการลบที่ทำโดยผู้ใช้อื่นจะไม่ปรากฏขึ้นมา นี่เป็นชนิดติดตามเดียวที่อนุญาตให้ใช้เมื่อเปิด Object Recordset ทางกลุ่มลูกค้า
- ติดตามย้อนหลัง - อนุญาตให้เลื่อนติดตามไปข้างหน้าเท่านั้นใน Recordset และการเพิ่มเติม การแก้ไขและการลบที่ทำโดยผู้ใช้อื่นจะไม่ปรากฏขึ้นมา。
สามารถตั้งค่าชนิดติดตามผ่านคุณสมบัติ CursorType หรือตัวแปร CursorType ในเมื่อเปิดหน้าเมนู Open。
หมายเหตุ:ไม่ทุกๆ บริการ (providers) สนับสนุนวิธีและคุณสมบัติทั้งหมดของ Object Recordset。
คุณสมบัติ
คุณสมบัติ | คำอธิบาย |
---|---|
AbsolutePage | ตั้งค่าหรือคืนค่าค่าที่สามารถกำหนดหน้าที่ของ Object Recordset ได้。 |
AbsolutePosition | ตั้งค่าหรือคืนค่าค่าที่สามารถกำหนดตำแหน่งบันทึกปัจจุบันของ Object Recordset ได้ (ตำแหน่งลำดับ)。 |
ActiveCommand | คืน Object Command ที่เกี่ยวข้องกับ Object Recordset。 |
ActiveConnection | ถ้าการเชื่อมต่อถูกปิด ตั้งค่าหรือคืนค่าการปรับปรุงของการเชื่อมต่อ หรือถ้าการเชื่อมต่อเปิด ตั้งค่าหรือคืนค่า Object Connection ปัจจุบัน。 |
BOF | คืนค่า true ถ้าตำแหน่งของบันทึกปัจจุบันอยู่ก่อนบันทึกแรก ไม่เช่นนั้นคืนค่า false。 |
Bookmark | ตั้งค่าหรือคืนค่าบุ๊กแม้ค่าที่บันทึกปัจจุบันตั้งอยู่。 |
CacheSize | ตั้งค่าหรือคืนค่าจำนวนของบันทึกที่สามารถทำการแทรกค่าเชื่อมโยงได้。 |
CursorLocation | ตั้งค่าหรือคืนค่าตำแหน่งของบริการติดตาม。 |
CursorType | ตั้งค่าหรือคืนค่าชนิดของติดตามของ Object Recordset。 |
DataMember | ตั้งค่าหรือคืนค่าชื่อของสมาชิกข้อมูลที่ต้องการดึงมาจาก Object ที่มีคุณสมบัติ DataSource。 |
DataSource | กำหนดตัววิตคุณที่มีข้อมูลที่จะแสดงเป็น Object Recordset。 |
EditMode | คืนสถานะการแก้ไขของบันทึกปัจจุบัน。 |
EOF | คืนค่า true ถ้าตำแหน่งของบันทึกปัจจุบันอยู่หลังบันทึกสุดท้าย ไม่เช่นนั้นคืนค่า false。 |
Filter | คืนค่าตัวกรองสำหรับข้อมูลของ Object Recordset。 |
Index | ตั้งค่าหรือคืนค่าชื่อของติดตามที่ปัจจุบันของ Recordset วิตคุณของ Object。 |
LockType | ตั้งค่าหรือคืนค่าค่าที่สามารถกำหนดชนิดล็อคเมื่อแก้ไขเอกสารหนึ่งบันทึกใน Recordset。 |
MarshalOptions | ตั้งค่าหรือคืนค่าค่าที่กำหนดว่าเอกสารใดที่จะคืนค่าที่บริการเซิร์ฟเวอร์。 |
MaxRecords | ตั้งค่าหรือกลับคืนค่าจำนวนของบันทึกที่สามารถมีในประกาศฐาน Recordset จากคำค้นหา。 |
PageCount | กลับคืนจำนวนหน้าของข้อมูลในประกาศฐาน Recordset。 |
PageSize | ตั้งค่าหรือกลับคืนค่าจำนวนของบันทึกที่อนุญาตให้มีในหน้าของประกาศฐาน Recordset หนึ่งเดียว。 |
RecordCount | กลับคืนจำนวนบันทึกในประกาศฐาน Recordset。 |
Sort | ตั้งค่าหรือกลับคืนค่าชื่อหมายเหตุที่ใช้เป็นต้นกำเนิดการจัดเรียงของประกาศฐาน Recordset。 |
Source | ตั้งค่าหรือกลับคืนค่าที่สามารถเอาไว้เองว่าข้อมูลแหล่งของประกาศฐาน Recordset คือข้อความ หรืออ้างอิง Command หรือกลับคืนค่าข้อความที่สามารถเอาไว้เอง。 |
State | กลับคืนค่าที่สามารถเอาไว้เองว่าประกาศฐาน Recordset กำลังเปิด ปิด กำลังเชื่อมต่อ กำลังปฏิบัติการหรือกำลังหาข้อมูล。 |
Status | กลับคืนสถานะของบันทึกในการปรับปรุงแบบฉบับหรือปฏิบัติการใหญ่อื่นๆ。 |
StayInSync | ตั้งค่าหรือกลับคืนค่าว่าความที่หมายเหตุของบันทึกลูกจะเปลี่ยนแปลงหรือไม่เมื่อตำแหน่งของหมายเหตุพ่อเปลี่ยนแปลง。 |
วิธี
วิธี | คำอธิบาย |
---|---|
AddNew | สร้างบันทึกใหม่。 |
Cancel | ยกเลิกการปฏิบัติการ。 |
CancelBatch | ยกเลิกการปรับปรุงแบบฉบับ。 |
CancelUpdate | ยกเลิกการเปลี่ยนแปลงที่ทำให้บันทึกในประกาศฐาน Recordset ได้รับการทำงาน。 |
Clone | สร้างรอยแบบประกาศฐาน Recordset ที่มีอยู่แล้ว。 |
Close | ปิดประกาศฐาน。 |
CompareBookmarks | เปรียบเทียบหมายเหตุ。 |
Delete | ลบบันทึกหนึ่งหรือกลุ่มบันทึก。 |
Find | ค้นหาบันทึกหนึ่งที่พบในประกาศฐาน Recordset ที่เป็นไปตามเงื่อนไขที่กำหนด。 |
GetRows | โอนบันทึกหลายบันทึกจากประกาศฐาน Recordset มายังแบบจำลองภาพแบบสองมิติ。 |
GetString | กลับคืน Recordset ในรูปแบบของข้อความ。 |
Move | ย้ายบันทึกไปที่บันทึกในประกาศฐาน Recordset。 |
MoveFirst | ย้ายบันทึกไปที่บันทึกแรก。 |
MoveLast | ย้ายบันทึกไปที่บันทึกสุดท้าย。 |
MoveNext | ย้ายบันทึกไปที่บันทึกต่อไป。 |
MovePrevious | ย้ายบันทึกไปที่บันทึกที่แล้ว。 |
NextRecordset | โดยทำการรับรองตามรายสั่งเพื่อลบข้อมูล Recordset ปัจจุบันและกลับคืน Recordset ต่อไป。 |
Open | เปิดประกาศฐานข้อมูล ประกาศฐานนี้สามารถให้บริการเข้าถึงบันทึกตาราง ผลลัพธ์การค้นหาหรือเข้าถึง Recordset ที่บันทึกไว้แล้ว。 |
Requery | ปรับปรุงข้อมูลใน Object Recordset โดยทำคำออกคำถามใหม่ที่มีกำหนดใน Object |
Resync | ขึ้นตัวข้อมูลใน Recordset ใหม่จากฐานข้อมูลต้นแบบ |
Save | บันทึก Object Recordset ไปยัง file หรือ Object Stream |
Seek | ค้นหาดัชนีของ Recordset เพื่อตำหน่งบันทึกที่ตรงกับค่าที่กำหนด และทำให้เป็นบันทึกที่มีในตอนนี้ |
Supports | กลับค่าที่เป็นค่าเปิดเผยของประเภทฟังก์ชันที่ Object Recordset สนับสนุน |
Update | บันทึกการเปลี่ยนแปลงทั้งหมดที่ทำต่อบันทึกเดียวของ Object Recordset |
UpdateBatch | บันทึกทั้งหมดการเปลี่ยนแปลงของ Recordset ลงในฐานข้อมูล |
เหตุการณ์
หมายเหตุ: คุณไม่สามารถจัดการเหตุการณ์ด้วย VBScript หรือ JScript (เพียงแค่ Visual Basic, Visual C++, และ Visual J++ ที่สามารถจัดการเหตุการณ์ได้)
เหตุการณ์ | คำอธิบาย |
---|---|
EndOfRecordset | จะถูกเรียกขึ้นเมื่อพยายามเคลื่อนตำแหน่งไปยังบันทึกที่เกินที่สุดของ Recordset |
FetchComplete | จะถูกเรียกขึ้นหลังจากที่เล่าบันทึกทั้งหมดในปฏิบัติการแบบอัตโนมัติ |
FetchProgress | จะถูกเรียกขึ้นเป็นประจำในระหว่างปฏิบัติการแบบอัตโนมัติ และรายงานว่าเล่าบันทึกเท่าไหร่ |
FieldChangeComplete | จะถูกเรียกขึ้นหลังจากที่เปลี่ยนค่าของ Object Field |
MoveComplete | จะถูกเรียกขึ้นหลังจากที่เปลี่ยนตำแหน่งใน Recordset |
RecordChangeComplete | จะถูกเรียกขึ้นหลังจากที่เปลี่ยนบันทึก |
RecordsetChangeComplete | จะถูกเรียกขึ้นหลังจากที่เปลี่ยน Recordset |
WillChangeField | จะถูกเรียกขึ้นก่อนที่จะเปลี่ยนค่าของ Object Field |
WillChangeRecord | จะถูกเรียกขึ้นก่อนที่จะเปลี่ยนบันทึก |
WillChangeRecordset | จะถูกเรียกขึ้นก่อนที่จะเปลี่ยน Recordset |
WillMove | จะถูกเรียกขึ้นก่อนที่จะเปลี่ยนตำแหน่งใน Recordset |
มาตรฐาน
มาตรฐาน | คำอธิบาย |
---|---|
Fields | ชี้ว่ามี Field ใน Object Recordset หลายอย่าง |
Properties | รวมทั้งหมด Property ของ Object Recordset ทั้งหมด |
คุณสมบัติของชุด Fields
คุณสมบัติ | คำอธิบาย |
---|---|
Count |
กลับคืนจำนวนสมาชิกในชุด fields โดยเริ่มต้นที่ 0 ตัวอย่าง: countfields = rs.Fields.Count |
Item(named_item/number) |
กลับคืนสมาชิกที่ระบุชื่อโดยเฉพาะในชุด fields ตัวอย่าง: itemfields = rs.Fields.Item(1) หรือ itemfields = rs.Fields.Item("Name") |
คุณสมบัติของชุด Properties
คุณสมบัติ | คำอธิบาย |
---|---|
Count |
กลับคืนจำนวนสมาชิกในชุด properties โดยเริ่มต้นที่ 0 ตัวอย่าง: countprop = rs.Properties.Count |
Item(named_item/number) |
กลับคืนสมาชิกที่ระบุชื่อโดยเฉพาะในชุด properties ตัวอย่าง: itemprop = rs.Properties.Item(1) หรือ itemprop = rs.Properties.Item("Name") |
- หน้าก่อน ADO Record
- หน้าต่อไป ADO Stream