CDaoRecordset::Edit

โมฆะเสมือนแก้ไข();
โยน (CDaoException, CMemoryException);

หมายเหตุ

เรียกฟังก์ชันนี้สมาชิกเพื่ออนุญาตให้มีการเปลี่ยนแปลงในระเบียนปัจจุบัน?

เมื่อคุณเรียกใช้ฟังก์ชันแก้ไขสมาชิก เปลี่ยนแปลงเขตข้อมูลในระเบียนปัจจุบันจะถูกคัดลอกเพื่อคัดลอกบัฟเฟอร์ หลังจากที่คุณทำการเปลี่ยนแปลงที่ต้องการไปยังระเบียน เรียกโปรแกรมปรับปรุงเพื่อบันทึกการเปลี่ยนแปลงของคุณ แก้ไขบันทึกค่าของชุดระเบียนข้อมูลสมาชิก ถ้าคุณเรียกใช้แก้ไขเปลี่ยนแปลง เรียกแก้ไขอีกครั้ง ค่าของระเบียนจะคืนค่าการเดิมก่อนที่จะแก้ไขสายแรก?

ข้อควรระวังnbsp  ถ้าคุณแก้ไขระเบียนแล้ว ทำการดำเนินการใด ๆ ที่ย้ายไปที่ระเบียนอื่นโดยไม่มีการปรับปรุงโทรแรก การเปลี่ยนแปลงของคุณจะหายไป โดยไม่มีการเตือน นอกจากนี้ ถ้าคุณปิดชุดระเบียนหรือหลักฐานข้อมูล บันทึกการแก้ไขของคุณจะถูกยกเลิก โดยไม่มีการเตือน(&N)?

ในบางกรณี คุณอาจต้องการปรับปรุงคอลัมน์ โดยการทำให้มัน Null (ไม่มีข้อมูลที่ประกอบด้วย) เมื่อต้องการทำเช่นนั้น โทรSetFieldNullกับพารามิเตอร์ของจริงเพื่อทำเครื่องหมายฟิลด์ Null นี้ยังทำให้คอลัมน์มีการปรับปรุง ถ้าคุณต้องการเขียนไปยังแหล่งข้อมูลแม้ว่ายังไม่มีแปลงค่าของเขตข้อมูล โทรSetFieldDirtyกับพารามิเตอร์ของจริง นี้ใช้งานได้แม้ว่าเขตข้อมูลที่มีค่า Null?

เครื่องหมายของกรอบการเปลี่ยนแปลงเขตข้อมูลข้อมูลสมาชิกเพื่อให้แน่ใจว่า พวกเขาจะถูกเขียนไปยังระเบียนบนแหล่งข้อมูล โดยกลไกการแลกเปลี่ยน (dfx ไม่ถูกต้อง) เขตข้อมูลบันทึกของ DAO การเปลี่ยนแปลงค่าของเขตข้อมูลโดยทั่วไปชุดเขตข้อมูลสกปรกโดยอัตโนมัติ ดังนั้นคุณไม่ใคร่จะต้องเรียกSetFieldDirtyแต่บางครั้งคุณอาจต้องการให้แน่ใจว่า คอลัมน์จะถูกอย่างชัดเจนการปรับปรุง หรือแทรกคำนึงถึงค่าอะไรอยู่ในฟิลด์ข้อมูลสมาชิก กลไก dfx ไม่ถูกต้องยังใช้การใช้ของเทียมระบบ NULL ดูข้อมูลเพิ่มเติมCDaoFieldExchange::m_nOperation?

ถ้าไม่ได้ใช้กลไกในการกำหนดบัฟเฟอร์คู่ แล้ว เปลี่ยนค่าของฟิลด์ไม่ตั้งโดยอัตโนมัติค่าเขตข้อมูลเป็นสกปรก ในกรณีนี้ จะมีความจำเป็นต้อง explicity ชุดเขตข้อมูลสกปรก ค่าสถานะมีอยู่ในตัวควบคุมm_bCheckCacheForDirtyFieldsนี้ตรวจสอบเขตข้อมูลโดยอัตโนมัติ?

เมื่อวัตถุชุดระเบียนถูกล็อกในสภาพแวดล้อมแบบผู้ใช้หลายคน pessimistically ยังคงอยู่ในระเบียนถูกล็อกจากแก้ไขเวลาถูกใช้จนกระทั่งเสร็จสิ้นการปรับปรุงนั้น ถ้าชุดระเบียนถูกล็อก optimistically ระเบียนถูกล็อก และเปรียบเทียบกับระเบียนที่ pre-edited ก่อนมีการปรับปรุงในฐานข้อมูล ถ้าระเบียนมีการเปลี่ยนแปลงนับตั้งแต่ที่คุณเรียกว่าแก้ไขการดำเนินการปรับปรุงล้มเหลว และ MFC ข้อผิดพลาดข้อยกเว้น คุณสามารถเปลี่ยนโหมดการล็อกที่SetLockingMode?

หมายเหตุnbsp  ล็อกมีหวังถูกใช้เสมอในรูปแบบฐานข้อมูลภายนอก เช่นโปรแกรมควบคุม ODBC และ ISAM ที่สามารถติดตั้งได้(&N)?

ระเบียนปัจจุบันยังคงอยู่หลังจากที่คุณเรียกใช้แก้ไขปัจจุบัน การโทรแก้ไขต้องมีระเบียนปัจจุบัน ถ้าไม่มีไม่มีระเบียนปัจจุบัน หรือชุดระเบียนไม่ได้มีการอ้างอิงไปยังชนิดตารางเปิดหรือวัตถุ recordset ชนิด dynaset ข้อยกเว้นเกิดขึ้น โทรแก้ไขสาเหตุCDaoExceptionจะถูกส่งออกไปภายใต้เงื่อนไขต่อไปนี้:

ถ้าแหล่งข้อมูลสนับสนุนธุรกรรม คุณสามารถทำการแก้ไขเรียกส่วนของธุรกรรม หมายเหตุว่า คุณควรเรียกCDaoWorkspace::BeginTransก่อนการเรียกแก้ไขและหลัง จากที่ได้ถูกเปิดชุดระเบียน โปรด สังเกตว่า การโทรCDaoWorkspace::CommitTransไม่ทดแทนสำหรับการเรียกโปรแกรมปรับปรุงเพื่อทำการดำเนินการแก้ไข ดูข้อมูลเพิ่มเติมเกี่ยวกับธุรกรรม คลาสCDaoWorkspace?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงข้อมูล ให้ดูบทความ DAO Recordset: การดำเนินงานของชุดระเบียนในVisual c ++ Programmer ของคำแนะนำ สำหรับข้อมูลที่เกี่ยวข้อง ดูหัวข้อ "การเมธ อด AddNew" "วิธีการแก้ไข" "วิธีการลบ" "วิธีการปรับปรุง" และ "คุณสมบัติปรับปรุง" ในวิธีใช้ DAO?

ภาพรวม CDaoRecordset |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCDaoRecordset::AddNew, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update(&N)

Index