CDaoRecordset::AddNew

테이블 형식 또는 다이너셋 형식 레코드 집합에 새 레코드를 추가 하려면이 멤버 함수를 호출 합니다.

virtual void AddNew( );

설명

레코드의 필드는 처음에 Null입니다.(데이터베이스 용어로 Null "값이 없는 것"을 의미 하 고는 동일 하지 않습니다 NULL C++에서.) 작업을 완료 하 여 호출 해야는 업데이트 멤버 함수입니다.업데이트 데이터 원본에 변경 내용을 저장 합니다.

주의 정보주의

레코드를 편집 하 고 다음 호출 하지 않고 다른 레코드로 이동 하는 경우 업데이트, 변경 내용이 경고 없이 손실 됩니다.

레코드를 호출 하 여 다이너셋 형식 레코드 집합에 추가 하는 경우 AddNew, 레코드 레코드 집합에 표시 되 고 여기서 해당 됩니다에 보이는 새 원본 테이블에 포함 된 CDaoRecordset 개체입니다.

새 레코드의 위치는 레코드 집합의 종류에 따라 달라 집니다.

  • 다이너셋 형식 레코드 집합에 새 레코드 삽입 되는 위치를 보장할 수 없습니다.Microsoft Jet 3.0 성능 및 동시성의 이유로 변경할이 동작 합니다.새로 추가 된 레코드를 현재 레코드로 만들 경우 수정 된 마지막 레코드의 책갈피를 가져오고 해당 책갈피로 이동 합니다.

    rs.SetBookmark(rs.GetLastModifiedBookmark());
    
  • 인덱스가 지정 된 테이블 형식 recordset 레코드 정렬 순서에서 적절 한 위치에 반환 됩니다.인덱스를 지정 하는 경우 새 레코드가 레코드 집합의 끝에 반환 됩니다.

사용 하기 전에 현재 레코드 AddNew 는 그대로 유지 됩니다.새 레코드를 현재 레코드로 만들 레코드 집합 책갈피, 호출을 지 원하는 경우 SetBookmark 내부 DAO recordset 개체의 LastModified 속성 설정으로 식별 되는 책갈피입니다.이렇게 카운터 (자동 증가) 필드에 추가 된 레코드에 대 한 값을 결정 하는 유용 합니다.자세한 내용은 GetLastModifiedBookmark.

데이터베이스에서 트랜잭션을 지원 하면 가능 하면 AddNew 트랜잭션의 일부로 호출 합니다.트랜잭션에 대 한 자세한 내용은 클래스를 참조 하십시오. CDaoWorkspace.참고 호출 해야 CDaoWorkspace::BeginTrans 호출 하기 전에 AddNew.

호출할 수 없습니다 AddNew 레코드 집합에 대해 해당 열려 멤버 함수 호출 되지.A CDaoException 를 호출 하면 throw 됩니다 AddNew 에 대 한 레코드를 추가할 수 없습니다.호출 하 여 레코드 집합이 업데이트할 수 있는지 여부를 확인할 수 있습니다 CanAppend.

프레임 워크 표시 필드 데이터 멤버는 데이터 소스에서 레코드를 DAO 레코드 필드 교환 (DFX) 메커니즘에 의해 쓰여질 수 있도록 변경 되었습니다.일반적으로 필드의 값을 변경 설정 필드 변경 자동으로 거의 호출할 필요가 SetFieldDirty 자신 있지만 때로는 경우가 열 명시적으로 업데이트 되거나 삽입 필드 데이터 멤버의 값을 인지에 관계 없이 있는지 확인 합니다.DFX 메커니즘 사용을 또한 사용 의사 NULL.자세한 내용은 CDaoFieldExchange::m_nOperation.

이중 버퍼링 메커니즘을 사용 하지 않는 경우, 다음 필드의 값을 변경 자동으로 필드 불량으로 설정 하지 않습니다.이 경우, 커밋되지 않은 데이터 필드를 명시적으로 설정 해야 합니다.플래그에 포함 된 m_bCheckCacheForDirtyFields 이 필드를 자동 검사를 제어 합니다.

[!참고]

레코드 이중 버퍼링 된 경우 (즉, 자동 필드 검사를 호출 사용) CancelUpdate 멤버 변수 갖고 있던 이전 값으로 복원 됩니다 AddNew 또는 편집 호출 되었습니다.

관련된 내용은 "AddNew 메서드", "CancelUpdate 메서드", "LastModified 속성" 및 "EditMode 속성" DAO 도움말 항목을 참조 하십시오.

요구 사항

헤더: afxdao.h

참고 항목

참조

CDaoRecordset 클래스

계층 구조 차트

CDaoRecordset::CanUpdate

CDaoRecordset::CancelUpdate

CDaoRecordset::Delete

CDaoRecordset::Edit

CDaoRecordset::Update

CDaoRecordset::CanTransact