다음을 통해 공유


행 상태 배열

SQLFetchSQLFetchScroll은 데이터 외에도 행 집합에 있는 각 행의 상태 제공하는 배열을 반환할 수 있습니다. 이 배열은 SQL_ATTR_ROW_STATUS_PTR 문 특성을 통해 지정됩니다. 이 배열은 애플리케이션에 의해 할당되며 SQL_ATTR_ROW_ARRAY_SIZE 문 특성에 지정된 만큼의 요소가 있어야 합니다. 배열의 값은 SQLBulkOperations, SQLFetch, SQLFetchScrollSQLSetPos에 의해 설정됩니다. 값은 행의 상태 마지막으로 가져온 이후 해당 상태 변경되었는지 여부를 설명합니다.

행 상태 배열 값 설명
SQL_ROW_SUCCESS 행을 성공적으로 가져왔으며 마지막으로 가져온 이후 변경되지 않았습니다.
SQL_ROW_SUCCESS_WITH_INFO 행을 성공적으로 가져왔으며 마지막으로 가져온 이후 변경되지 않았습니다. 그러나 행에 대한 경고가 반환되었습니다.
SQL_ROW_ERROR 행을 가져오는 동안 오류가 발생했습니다.
SQL_ROW_UPDATED 행을 성공적으로 가져왔으며 마지막으로 가져온 이후 업데이트되었습니다. SQLSetPos에서 행을 다시 가져오거나 새로 고치는 경우 해당 상태 새 상태 변경됩니다.

일부 드라이버는 데이터의 변경 내용을 검색할 수 없으므로 이 값을 반환할 수 없습니다. 드라이버가 리페치된 행에 대한 업데이트를 검색할 수 있는지 여부를 확인하기 위해 애플리케이션은 SQL_ROW_UPDATES 옵션을 사용하여 SQLGetInfo를 호출합니다.
SQL_ROW_DELETED 행이 마지막으로 가져온 이후 삭제되었습니다.
SQL_ROW_ADDED 행이 SQLBulkOperations에 의해 삽입되었습니다. 행을 다시 가져오거나 SQLSetPos에서 새로 고치는 경우 해당 상태 SQL_ROW_SUCCESS.

이 값은 SQLFetch 또는 SQLFetchScroll에서 설정되지 않습니다.
SQL_ROW_NOROW 행 집합이 결과 집합의 끝 부분과 겹치며 행 상태 배열의 이 요소에 해당하는 행이 반환되지 않았습니다.