Status 속성(ADO 필드)
Field 개체의 상태를 나타냅니다.
Return Value
FieldStatusEnum 값을 반환합니다. 기본값은 adFieldOK입니다.
설명
레코드 필드 상태
Record 개체의 Fields 컬렉션에서 Field 개체 값에 대한 변경 내용은 개체의 Update 메서드가 호출될 때까지 캐시됩니다. 이때 필드 값 변경으로 인해 오류가 발생한 경우 OLE DB는 오류 DB_E_ERRORSOCCURRED(2147749409)를 발생합니다. 오류를 발생시킨 Fields 컬렉션의 Field 개체의 Status 속성에는 문제의 원인을 설명하는 FieldStatusEnum의 값이 포함됩니다.
성능을 향상시키기 위해 Update 메서드가 호출될 때까지 Record 개체의 Fields 컬렉션에 대한 추가 및 삭제가 캐시된 다음, 일괄 처리 낙관적 업데이트에서 변경됩니다. Update 메서드가 호출되지 않으면 서버가 업데이트되지 않습니다. 업데이트가 실패하면 OLE DB 공급자 오류(DB_E_ERRORSOCCURRED)가 반환되고 Status 속성은 작업 및 오류 상태 코드의 결합된 값을 나타냅니다. 예를 들어 adFieldPendingInsert OR adFieldPermissionDenied입니다. 각 Field의 Status 속성을 사용하여 Field가 추가, 수정 또는 삭제되지 않은 이유를 확인할 수 있습니다.
Field를 추가, 수정 또는 삭제할 때 발생하는 많은 유형의 문제가 Status 속성을 통해 보고됩니다. 예를 들어 사용자가 Field를 삭제하면 Fields 컬렉션에서 삭제할 것으로 표시됩니다. 사용자가 권한이 없는 Field를 삭제하려고 했기 때문에 후속 Update에서 오류를 반환하는 경우 Field에 adFieldPermissionDenied OR adFieldPendingDelete의 Status가 표시됩니다. CancelUpdate 메서드를 호출하면 원래 값이 복원되고 Status가 adFieldOK로 설정됩니다.
마찬가지로 새 Field가 추가되고 부적절한 값이 지정되었기 때문에 Update 메서드가 오류를 반환할 수 있습니다. 이 경우 새 Field는 Fields 컬렉션에 있고 adFieldPendingInsert 및 adFieldCantCreate(공급자에 따라 다름)의 상태를 갖습니다. 새 Field에 적절한 값을 제공하고 Update를 다시 호출할 수 있습니다.
Recordset 필드 상태
Recordset의 Fields 컬렉션에서 Field 개체 값에 대한 변경 내용은 개체의 Update 메서드가 호출될 때까지 캐시됩니다. 이때 필드 값 변경으로 인해 오류가 발생한 경우 OLE DB는 오류 DB_E_ERRORSOCCURRED(2147749409)를 발생합니다. 오류를 발생시킨 Fields 컬렉션의 Field 개체의 Status 속성에는 문제의 원인을 설명하는 FieldStatusEnum의 값이 포함됩니다.