ADO Status 속성

정의와 사용법

Status 속성은 다음을 반환할 수 있습니다 FieldStatusEnum 값, 이 값은 Field 객체의 상태를 나타냅니다. 기본 값은 adFieldOK입니다.

업데이트가 실패하면 오류가 반환되며, Status 속성은 해당 작업의 조합 값과 오류 상태 코드를 나타냅니다. 각 Field의 Status 속성은 해당 Field가 추가되지 않았거나, 수정되지 않았거나, 삭제되지 않은 이유를 결정하는 데 사용될 수 있습니다.

Field에 추가, 수정 또는 제거 문제는 이 속성을 통해 보고됩니다. 예를 들어, 사용자가 필드를 제거하면, Fields 컬렉션에서 제거되었음을 표시됩니다. 사용자가 제거할 권한이 없는 Field를 제거하려고 시도하여 Update 호출이 오류를 반환하면, 해당 필드의 Status는 adFieldPermissionDenied 또는 adFieldPendingDelete로 설정됩니다.

문법

objfield.Status

인스턴스

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from orders", conn
response.write(rs.Fields(0).Status)
rs.Close
conn.close
%>

FieldStatusEnum 값

정수 설명
adFieldOK 0 기본. 해당 필드가 성공적으로 추가되거나 제거되었음을 나타냅니다.
adFieldCantConvertValue 2 데이터를 손실 없이 검색하거나 저장할 수 없음을 나타냅니다.
adFieldIsNull 3 제공자가 Null 값을 반환함을 나타냅니다.
adFieldTruncated 4 데이터 소스에서 읽을 때 변형된 데이터가 잘리함을 나타냅니다.
adFieldSignMismatch 5 제공자가 반환한 데이터 값이 부호를 가지고 있지만, ADO 필드 값의 데이터 타입이 부호를 가지지 않음을 나타냅니다.
adFieldDataOverflow 6 제공자가 반환한 데이터가 필드 데이터 타입을 초과함을 나타냅니다.
adFieldCantCreate 7 제공자가 제한을 초과했기 때문에(예: 허용된 필드 수와 같이) 해당 필드를 추가할 수 없음을 나타냅니다.
adFieldUnavailable 8 데이터 소스에서 읽을 때 제공자가 값을 결정할 수 없음을 나타냅니다. 예를 들어, 행이 최초로 생성되었을 때, 열의 기본 값은 사용할 수 없으며, 새로운 값이 지정되지 않았습니다.
adFieldPermissionDenied 9 이 필드가 읽기 전용으로 정의되었기 때문에 수정할 수 없다고 가리킵니다.
adFieldIntegrityViolation 10 이 필드가 계산이나 파생된 항목이기 때문에 수정할 수 없다고 가리킵니다.
adFieldSchemaViolation 11 값이 필드의 데이터 소스 모델 제한을 위반했다고 가리킵니다.
adFieldBadStatus 12 ADO에서 OLE DB 공급자에 무효한 상태 값을 보냈습니다. 원인은 OLE DB 1.0 또는 1.1 공급자, 또는 Value와 Status의 조합이 부적절할 수 있습니다.
adFieldDefault 13 데이터 설정 시 필드의 기본 값을 사용했다고 가리킵니다.
adFieldIgnore 15 원본에서 데이터 값을 설정할 때 이 필드가 건너뜀되었다고 가리킵니다. 공급자는 어떤 값도 설정하지 않았습니다.
adFieldDoesNotExist 16 지정된 필드가 존재하지 않다고 가리킵니다.
adFieldInvalidURL 17 데이터 소스 URL이 무효한 문자를 포함하고 있다고 가리킵니다.
adFieldResourceLocked 18 데이터 소스가 하나나 다른应用程序이나 프로세스에 의해 잠금되었기 때문에 공급자가 작업을 수행할 수 없다고 가리킵니다.
adFieldResourceExists 19 목적 URL에 이미 객체가 존재하여 덮어쓸 수 없기 때문에 공급자가 작업을 수행할 수 없다고 가리킵니다.
adFieldCannotComplete 20 Source에서 지정한 URL의 서버가 작업을 완료할 수 없다고 가리킵니다.
adFieldVolumeNotFound 21 공급자가 URL을 지정한 저장량을 찾을 수 없다고 가리킵니다.
adFieldOutOfSpace 22 공급자가 이동 또는 복사 작업을 완료하기 위해 충분한 저장 공간을 확보할 수 없다고 가리킵니다.
adFieldCannotDeleteSource 23 이동 작업에서 트리나 자식 트리가 새 위치로 이동되었지만 원본은 제거되지 않다고 가리킵니다.
adFieldReadOnly 24 데이터 소스 내의 필드가 읽기 전용으로 정의되었다고 가리킵니다.
adFieldResourceOutOfScope 25 원래 URL 또는 목적 URL이 현재 기록의 범위를 초과한다고 가리킵니다.
adFieldAlreadyExists 26 지정된 필드가 이미 존재한다고 가리킵니다.
adFieldPendingInsert 0x10000 Append 작업으로 인해 상태를 설정해야 하는지 가리킵니다. Field는 Update 메서드 호출 후 Fields 집합에 추가된다고 표시됩니다.
adFieldPendingDelete 0x20000 Delete 작업으로 인해 상태를 설정해야 하는 경우를 나타내며, 필드는 Update 메서드 호출 후 Fields 컬렉션에서 제거됩니다.
adFieldPendingChange 0x40000 필드가 제거된 후 다시 추가되었거나(데이터 타입이 다를 수 있습니다) 또는 이전에 adFieldOK 상태를 가진 필드의 값이 변경된 경우를 나타내며, 필드의 최종 형식은 Update 메서드 호출 후 Fields 컬렉션에서 수정됩니다.
adFieldPendingUnknown 0x80000 필드 상태를 설정하려는 작업을 결정할 수 없는 경우를 나타냅니다.
adFieldPendingUnknownDelete 0x100000 필드 상태를 설정하려는 작업을 결정할 수 없는 경우를 나타내며, Update 메서드 호출 후 필드가 Fields 컬렉션에서 제거됩니다.