วัตถุ Recordset ของ ADO

ตัวอย่าง

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")