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 컬렉션에서 제거됩니다. |