가상 void Edit( );
던져 ( CDBException, CMemoryException );
주의
현재 레코드의 변경 내용을 허용 하려면이 멤버 함수를 호출 합니다. 편집를 호출한 후에 직접 해당 값을 다시 설정 하 여 필드 데이터 멤버를 변경할 수 있습니다. 이후에 데이터 원본에 변경 내용을 저장 하려면 Update 멤버 함수를 호출 하면 완료。
메모nbsp;??대량 행 페치를 구현한 경우에 편집를 호출할 수 없습니다. 이 실패 한 어설션이 발생 합니다. CRecordset 클래스는 대량 행의 데이터를 업데이트 하기 위한 메커니즘을 제공 하지 않습니다, 비록 SQLSetPosODBC API 함수를 사용 하 여 직접 함수를 작성할 수 있습니다. 이 작업을 수행 하는 방법의 예는 샘플을 참조 하십시오. DBFETCH. 대량 행 페칭에 대 한 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 레코드 집합: 레코드 페치 대량 (ODBC) Visual c + + 프로그래머 가이드(&N)。
편집 레코드 집합의 데이터 멤버의 값을 저장합니다. 만약 당신이 전화를 편집변경한 다음 편집 을 다시 호출, 레코드의 값 첫 번째 편집 전화를 하기 전에 그들이 복원 됩니다.
일부 경우에 Null (데이터 없음 포함) 함으로써 열을 업데이트할 수도 있습니다. 이렇게 하려면 TRUE Null; 필드를 표시 하려면 매개 변수를 사용 하 여 SetFieldNull 을 호출합니다 이 또한 업데이트 될 열을 발생 합니다. 해당 값이 변경 되지 않은 경우에 데이터 소스에 기록 필드를 true매개 변수와 함께 SetFieldDirty 를 호출 합니다. 이 필드 값이 Null 했다 하는 경우에 작동。
데이터 소스에서 트랜잭션을 지원를 하는 경우는 편집 트랜잭션의 일부를 호출 할 수 있습니다. 참고 레코드 집합을 연 후 및 편집 를 호출 하기 전에 CDatabase::BeginTrans 를 호출 해야 합니다. 또한 호출 하는 CDatabase::CommitTrans 는 과정은 편집 작업을 완료 하려면 업데이트 를 호출 하기 위한 대체 note. 트랜잭션에 대 한 자세한 내용은 다음 웹 사이트를 참조 하십시오. CDatabase 클래스。
현재 잠금 모드에 따라 업데이트 되는 레코드 잠겨 있을 수 있습니다 편집 하 여 업데이트 하거나 다른 레코드로 스크롤을 호출 하거나 잠겨 있을 수 있습니다 때까지 편집 호출 중에. SetLockingMode 사용 하 여 잠금 모드를 변경할 수 있습니다.
Update를 호출 하기 전에 새 레코드를 스크롤 하는 경우 현재 레코드의 이전 값이 복원 됩니다. CDBException 이 throw 업데이트할 수 없는 레코드 집합에 대 한 편집 을 호출 하면 현재 레코드가 없는 경우。
자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 트랜잭션 (ODBC) 및 레코드 집합: 레코드 잠금 (ODBC) Visual c + + 프로그래머 가이드 에서。
예제
/ / Crecordset::edit에 대 한 예제
/ / 레코드를 편집 하려면
/ / 먼저 편집 버퍼를 설정
rsCustSet.Edit ();
/ / 다음 레코드의 필드 데이터 멤버 편집
rsCustSet.m_dwCustID = 2795;
rsCustSet.m_strCustomer = "존스 제조";
/ / 마지막으로, 작업을 완료
경우 (! rsCustSet.Update (&))
nbsp;? / / 업데이트 실패 처리
CRecordset 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)
참고 항목nbsp;CRecordset::Update, CRecordset::AddNew, CRecordset::Delete, CRecordset::SetFieldDirty, CRecordset::SetFieldNull, CRecordset::CanUpdate, CRecordset::CanTransact, CRecordset::SetLockingMode(&N)