다음을 통해 공유


CRecordset::Update

 

게시: 2016년 4월

완료 되는 AddNew 또는 편집 작업을 새로 만들거나 편집한 데이터는 데이터 원본에 저장 합니다.

구문

virtual BOOL Update( );

반환 값

하나의 레코드가 성공적으로 업데이트 되었으면 0이 아닌. 그렇지 않으면 열이 변경 된 경우 0입니다. 레코드가 업데이트 된 경우 두 개 이상의 레코드가 업데이트 된 경우 예외가 throw 됩니다. 또한 기타 모든 실패에 대 한 데이터 원본에 예외가 발생 합니다.

설명

이 멤버 함수를 호출한 후 호출의 AddNew 또는 편집 멤버 함수입니다. 이 호출을 완료할 필요가 있는 AddNew 또는 편집 작업.

참고

대량 행 페치를 구현한 경우 호출할 수 없습니다 업데이트.이 경우에 실패 한 어설션이 발생 합니다.하지만 클래스 CRecordset 메커니즘을 제공 하지 않습니다 대량 행의 데이터를 업데이트 하는 함수를 직접 ODBC API 함수를 사용 하 여 작성할 수 있습니다 SQLSetPos.대량 행 페칭 (fetching) 하는 방법에 대 한 자세한 내용은 레코드 집합: 레코드 페치 대량 (ODBC).

둘 다 AddNew편집 에 저장 하는 데이터 원본에 대 한 추가 또는 편집 데이터 배치 하는 편집 버퍼를 준비 합니다. 업데이트 데이터를 저장 합니다. 표시 또는 변경 된 것으로 발견 된 필드만 업데이트 됩니다.

데이터 소스가 트랜잭션을 지원할 경우 수는 업데이트 호출 (및 해당 AddNew 또는 편집 호출) 트랜잭션의 일부로. 트랜잭션에 대 한 자세한 내용은 트랜잭션 (ODBC).

경고

호출 하는 경우 업데이트 먼저 하나를 호출 합니다. AddNew 또는 편집, 업데이트 throw는 CDBException.호출 하는 경우 AddNew 또는 편집를 호출 해야 업데이트 를 호출 하기 전에 이동 작업 또는 레코드 집합 또는 데이터 소스 연결을 닫기 전에.그렇지 않으면 변경 하지 않고 알림 손실 됩니다.

처리에 대 한 자세한 내용은 업데이트 오류 문서를 참고 하십시오. 레코드 집합: 레코드 집합 업데이트 방법 (ODBC).

예외

Exception

Condition

이 메서드가 형식의 예외를 throw 할 수 있습니다 CDBException *.

예제

참고 트랜잭션: 거래를 하 고 있는 레코드 집합 (ODBC에서).

요구 사항

헤더: afxdb.h

참고 항목

CRecordset Class
계층 구조 차트
CRecordset::Edit
CRecordset::AddNew
CRecordset::SetFieldDirty
CDBException Class