CRecordset::Move

เสมือน โมฆะ ย้าย ( ยาว 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)

Index