개발자의 끄적끄적

[sql] mssql BOF,EOF 속성 참고 [펌] 본문

개발/sql

[sql] mssql BOF,EOF 속성 참고 [펌]

효벨 2020. 5. 28. 03:00
728x90
반응형

[sql] mssql BOF,EOF 속성 참고 [펌]

 

 

  • BOF 현재 레코드 위치가 레코드 집합 개체의 첫 번째 레코드 앞에 있음을 나타냅니다.

  • EOF 현재 레코드 위치가 레코드 집합 개체의 마지막 레코드 뒤에 있음을 나타냅니다.

반환 값

BOF  EOF 속성은 부울 값을 반환 합니다.

설명

BOF  EOF 속성을 사용 하 여 레코드에서 레코드로 이동할 때 레코드 집합 개체 의 제한을 초과 했는지 여부를 확인할 수 Recordset 있습니다.

현재 레코드 위치가 첫 번째 레코드 앞에 있으면 BOF 속성은 True (-1)를 반환 하 고 현재 레코드 위치가 첫 번째 레코드에 있거나 첫 번째 레코드 뒤에 있으면 False (0)를 반환 합니다.

EOF 속성은 현재 레코드 위치가 마지막 레코드 뒤에 있으면 True 를 반환 하 고 현재 레코드 위치가 마지막 레코드 앞에 있으면 False 를 반환 합니다.

BOF 또는 EOF 속성이 True이면 현재 레코드가 없습니다.

레코드를 포함 하지 않는 레코드 집합 개체를 여는 경우에는 BOF  EOF 속성이 True 로 설정 됩니다 .이 레코드 집합상태에 대 한 자세한 내용은 RecordCount 속성을 참조 하세요. 하나 이상의 레코드를 포함 하는 레코드 집합 개체를 열 때 첫 번째 레코드는 현재 레코드이 고, BOF  EOF 속성은 False입니다.

레코드 집합 개체에서 마지막으로 남아 있는 레코드를 삭제 하는 경우 현재 레코드의 위치를 변경할 때까지 BOF  EOF 속성이 False로 유지 될 수 있습니다.

다음 표에서는 다양 한 BOF  EOF 속성 조합을 사용 하 여 허용 되는 이동 메서드를 보여 줍니다.

테이블 1MoveFirstMoveLastMovePreviousMove < 00 이동MoveNextMove > 0

BOF = True, EOF = False 허용됨 Error Error 허용됨
BOF = False, EOF = True 허용됨 허용됨 Error Error
모두 True Error Error Error Error
모두 False 허용됨 허용됨 허용됨 허용됨

Move 메서드를 허용 해도 메서드가 레코드를 성공적으로 찾을 수 있도록 보장 하는 것은 아닙니다. 이는 지정 된 Move 메서드를 호출 해도 오류가 생성 되지 않는다는 것을 의미 합니다.

다음 표에서는 다양 한 Move 메서드를 호출 하지만 레코드를 찾을 수 없는 경우에 발생 하는 BOF  EOF 속성 설정을 보여 줍니다.

테이블 2BOFEOF

MoveFirst, MoveLast True 로 설정 True 로 설정
0 이동 변경 내용 없음 변경 내용 없음
MovePrevious, Move < 0 True 로 설정 변경 내용 없음
MoveNext, Move > 0 변경 내용 없음 True 로 설정

 

 

출처 : https://docs.microsoft.com/ko-kr/sql/ado/reference/ado-api/bof-eof-properties-ado?view=sql-server-ver15

반응형
Comments