เสมือน โมฆะ ย้าย ( ยาว nRows, WORD wFetchType = SQL_FETCH_RELATIVE);
โยน ( CDBException, CMemoryException );
พารามิเตอร์
nRows
ในจำนวนแถวที่จะย้ายไปข้างหน้า หรือย้อนหลัง บวกค่าย้ายไปข้างหน้า ไปทางส่วนท้ายของชุดระเบียน ค่าลบเลื่อนไปทางส่วนต้นย้อนกลับ?
wFetchType
กำหนด rowset ที่ย้ายจะนำมาใช้ สำหรับรายละเอียด ดูข้อสังเกต?
หมายเหตุ
เรียกฟังก์ชันนี้สมาชิกเพื่อย้ายตัวชี้ระเบียนปัจจุบันภายในชุดระเบียน ไปข้างหน้า หรือข้างหลัง ถ้าคุณส่งค่า 0 สำหรับnRowsย้ายฟื้นฟูระเบียนปัจจุบัน ย้ายจะสิ้นสุดโหมดAddNewหรือแก้ไขใด ๆ ปัจจุบัน และจะคืนค่าในระเบียนปัจจุบันก่อนAddNewหรือแก้ไขถูกเรียก?
หมายเหตุnbsp เมื่อย้ายไปมาระหว่างชุดระเบียน ลบระเบียนอาจไม่ถูกข้ามไป ดูฟังก์ชันสมาชิกIsDeletedสำหรับรายละเอียด(&N)?
ย้ายrepositions ชุดระเบียน โดย rowsets ยึดตามค่าของnRowsและwFetchTypeย้ายfetches rowset เหมาะสม และทำให้ระเบียนแรกในระเบียนปัจจุบันที่ rowset แล้ว ถ้าคุณได้ดำเนินการเป็นกลุ่มแถวกำลังนำมา แล้วขนาด rowset อยู่เสมอ 1 เมื่อกำลังนำตัว rowsetย้ายโดยตรงเรียกฟังก์ชันCheckRowsetErrorสมาชิกในการจัดการข้อผิดพลาดใด ๆ ที่เกิดจากการนำมาใช้?
ทั้งนี้ขึ้นอยู่กับค่าคุณส่งย้ายจะเท่ากับฟังก์ชันอื่น ๆ สมาชิกCRecordset โดยเฉพาะอย่างยิ่ง ค่าของwFetchTypeอาจระบุฟังก์ชันสมาชิกที่ขึ้นง่ายและมักวิธีแนะนำสำหรับการย้ายระเบียนปัจจุบัน?
ตารางต่อไปนี้แสดงค่าเป็นไปได้สำหรับwFetchType, rowset ที่ย้ายจะนำมาใช้ตามwFetchTypeและnRowsและฟังก์ชันใดเทียบเท่าสมาชิกที่สอดคล้องกับwFetchType?
| wFetchType | ดึง rowset | ฟังก์ชันที่เทียบเท่ากับสมาชิก |
| SQL_FETCH_RELATIVE (ค่าเริ่มต้น) | Rowset การเริ่มnRows row(s) จากแถวแรกใน rowset ในปัจจุบัน? | |
| SQL_FETCH_NEXT | Rowset ถัดไป nRowsจะถูกละเว้น? | MoveNext |
| SQL_FETCH_PRIOR | Rowset ก่อนหน้า nRowsจะถูกละเว้น? | MovePrev |
| SQL_FETCH_FIRST | Rowset เครื่องแรกในชุดระเบียน nRowsจะถูกละเว้น? | MoveFirst |
| SQL_FETCH_LAST | Rowset สมบูรณ์ที่สุดท้ายในชุดระเบียน nRowsจะถูกละเว้น? | MoveLast |
| SQL_FETCH_ABSOLUTE | ถ้าnRows gt 0, rowset การเริ่มnRows row(s) จากจุดเริ่มต้นของชุดระเบียน ถ้า row(s) nRows < 0, rowset nRowsเริ่มจากจุดสิ้นสุดของชุดระเบียน ถ้าnRows = 0 จาก นั้นจุดเริ่มต้นของแฟ้ม (BOF) เงื่อนไขจะถูกส่งกลับ? | SetAbsolutePosition |
| SQL_FETCH_BOOKMARK | Rowset เริ่มต้นที่แถวมีค่าที่คั่นหน้าตรงกับnRows? | SetBookmark |
หมายเหตุnbsp สำหรับชุดระเบียนเดียวนอนย้ายจะใช้ได้เฉพาะกับค่าของSQL_FETCH_NEXT wFetchType(&N)?
ข้อควรระวังnbsp โทรย้ายผิดข้อยกเว้นถ้าชุดระเบียนได้ไม่มีระเบียน การตรวจสอบว่า ชุดระเบียนมีระเบียนใด ๆ โทรIsBOFและIsEOF(&N)?
ถ้าคุณมีได้เลื่อนที่ผ่านมาจุดเริ่มต้นหรือจุดสิ้นสุดของชุดระเบียน (IsBOFหรือIsEOFกลับไม่ใช่ศูนย์), การเรียกฟังก์ชันย้ายจะอาจโยนCDBException ตัวอย่างเช่น ถ้าIsEOFส่งกลับไม่ใช่ศูนย์ และIsBOFไม่ แล้วMoveNextจะโยนข้อยกเว้น แต่MovePrevจะไม่?
ถ้าคุณเรียกย้ายในขณะที่ระเบียนปัจจุบันกำลังปรับปรุง หรือ เพิ่ม การปรับปรุงจะหายไป โดยไม่มีการเตือน?
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชุดระเบียนนำทาง ดูบทความ ชุดระเบียน: เลื่อน (ODBC)และ ชุดระเบียน: คั่นหน้าและตำแหน่งสัมบูรณ์ (ODBC)ในVisual c ++ Programmer's Guide สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขนาดใหญ่กำลังนำมาแถว ให้ดูบทความ ชุดระเบียน: กำลังนำระเบียนในกลุ่ม (ODBC)ในVisual c ++ Programmer's Guide ข้อมูลที่เกี่ยวข้อง ดูฟังก์ชัน ODBC API SQLExtendedFetchในการอ้างอิงของ ODBC SDK Programmer?
ตัวอย่าง
/ / อาร์เอสเป็นแบบ CRecordset หรือมี / / มา CRecordset วัตถุ
/ / เปลี่ยนขนาด rowset 5
อาร์เอสSetRowsetSize (5);
/ / ย้ายไปยังระเบียนแรก
/ / ในชุดระเบียน
อาร์เอสMoveFirst ()
/ / ย้ายไปยังระเบียนหก
อาร์เอสย้าย (5);
/ / วิธีอื่นเทียบเท่า
/ / ย้ายไปยังระเบียนที่หก:
/ / อาร์เอสย้าย (6, SQL_FETCH_ABSOLUTE);
/ / อาร์เอสSetAbsolutePosition (6);
/ / เป็นระเบียนหกในกรณีนี้
/ / เรกคอร์ดแรกใน rowset ถัดไป
/ / ดังต่อไปนี้จะเทียบเท่ากับ:
/ / อาร์เอสย้าย (1, SQL_FETCH_NEXT);
/ / อาร์เอสMoveNext ()
ภาพรวม CRecordset |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCRecordset::MoveNext, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError(&N)