CRecordset::AddNew

가상 void AddNew ( );
던져 ( CDBException );

주의

테이블에 새 레코드를 추가 하는 것에 대 한 준비 하려면이 멤버 함수를 호출 합니다. 새로 추가 된 레코드를 보려면 Requery 멤버 함수를 호출 해야 합니다. 레코드의 필드는 처음 Null입니다. (데이터베이스 용어 Null "값을 갖는" 의미와 NULL c + +에서와 동일 하지 않습니다.) 작업을 완료 하려면 Update 멤버 함수를 호출 해야 합니다. 업데이트 내용을 데이터 소스에 저장。

메모nbsp;??대량 행 페치를 구현한 경우 AddNew를 호출할 수 없습니다. 이 실패 한 어설션이 발생 합니다. CRecordset 클래스는 대량 행의 데이터를 업데이트 하기 위한 메커니즘을 제공 하지 않습니다, 비록 SQLSetPosODBC API 함수를 사용 하 여 직접 함수를 작성할 수 있습니다. 이 작업을 수행 하는 방법의 예는 샘플을 참조 하십시오. DBFETCH. 대량 행 페칭에 대 한 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 레코드 집합: 레코드 페치 대량 (ODBC) Visual c + + 프로그래머 가이드(&N)。

AddNew 는 새로운 빈 레코드가 레코드 집합의 필드 데이터 멤버를 사용 하 여 준비 합니다. AddNew를 호출 하면 레코드 집합의 필드 데이터 멤버에 값을 설정 합니다. ( 편집 멤버 함수를 호출 하는이 목적;에 대 한 필요가 없습니다 편집 을 사용 하 여 기존 레코드에 대해서만 합니다.) 이후에 Update를 호출 하는 경우 변경 필드 데이터 멤버는 데이터 원본에 저장 되는 값。

주의nbsp;Update를 호출 하기 전에 새 레코드를 스크롤 하는 경우 새 레코드 손실 되 고 아무런 경고도 주어진(&N)。

데이터 소스에서 트랜잭션을 지원, 귀하의 AddNew 호출 하는 트랜잭션의 일부를 만들 수 있습니다. 트랜잭션에 대 한 자세한 내용은 CDatabase클래스를 참조 하십시오. AddNew 를 호출 하기 전에 CDatabase::BeginTrans 를 호출 해야 하는 참고。

중요nbsp;??다이너셋, 새 레코드가 마지막 레코드로 레코드 집합에 추가 됩니다. 스냅샷 레코드 추가 되지 않습니다 추가 ? 레코드 집합을 새로 고치려면 Requery 를 호출 해야 합니다(&N)。

레코드 집합의 Open 멤버 함수를 호출에 대 한 AddNew 를 호출 하는 것이 불법입니다. CDBException 에 추가 될 수 없는 레코드 집합을 AddNew 를 호출 하는 경우에 throw 됩니다. CanAppend 를 호출 하 여 레코드 집합은 업데이트할 수 있는지 여부를 확인할 수 있습니다.

자세한 내용은 Visual c + + 프로그래머 가이드의 다음 문서를 참조: 레코드 집합: 집합의 레코드 업데이트 방법 (ODBC), Recordset: 추가, 업데이트 및 삭제 (ODBC), 그리고 트랜잭션 (ODBC)。

예제

문서를 참조 하십시오 트랜잭션: 트랜잭션에는 레코드 집합 (ODBC)을 수행 Visual c + + 프로그래머 가이드。

CRecordset 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CRecordset::Edit, CRecordset::Delete, CRecordset::Update, CRecordset::Requery, CDatabase::BeginTrans, CDBException(&N)

Index