MinBangHome

[VB] BOF, EOF 사용 본문

Develop/개발끄적

[VB] BOF, EOF 사용

Byungwook Min 2024. 1. 2. 14:16

(VB를 배운적 없는.. 아무것도 모르는 상태에서 AS-IS 파악을 위해 VB 코드를 보면서 내가 이해하기 위해 찾아서 적어봄)

 

* VB (Visual Basic) 에서 BOF, EOF 이해 및 사용하는 형식

 

우선 BOF, EOF 란?

- BOF 속성은 현재 레코드 위치가 첫번째 레코드 앞에 있으면 True(-1)를 반환하고, 현재 레코드 위치가 첫번째 레코드 또는 그 뒤에 있으면 False(0)를 반환

- EOF 속성은 현재 레코드 위치가 마지막 레코드 뒤에 있으면 True(-1)를 반환하고, 현재 레코드 위치가 마지막 레코드 또는 그 앞에 있으면 False(0)를 반환

- BOF 또는 EOF 속성이 True이면 현재 레코드는 없음

*  Microsoft Learn 참고 : BOF, EOF 속성(ADO) - ActiveX Data Objects (ADO) | Microsoft Learn

 

즉, BOF : Begin Of File, 레코드셋의 시작 / EOF : End Of File, 레코드셋의 끝 을 의미

이해한 바로는 조회 쿼리를 호출했을 시 리턴되는 데이터가 있는지 확인 시 사용

예제로 

   If Rs.BOF (or Rs.EOF) Then

       ... (처리 로직) ...

    Else

      ... (처리 로직) ...

    End If

인데, 이는 데이터가 없을 시 If문을 있을 경우 Else를 타도록 분기 처리 함

 

일하면서 이전 코드를 파악하니, 보통은 Not EOF 구문을 자주 사용함

이는 데이터 조회 후 Loop문(for or do/while) 돌면서 로직 처리할 시 사용하는데, BOF나 EOF의 속성이 True이면 데이터가 Empty 임으로 앞에 Not 붙여 사용

ex) 

   Str = " SELECT * " _

            & " FROM  테이블" _

   Rs.Open Str, ......

   If Not Rs.EOF Then

      ... (처리 로직) ...

   End If

   Rs.Close

 

If Not Rs.EOF Then 을 보면 데이터가 있을 시 처리하는 분기라고 보면됨.

 

'Develop > 개발끄적' 카테고리의 다른 글

자재 이동  (0) 2020.03.09
ocx 란?  (0) 2019.02.25
WBS 란  (0) 2019.02.25
SI 프로젝트에서 Database 관련 참고할 만한 내용 정리  (0) 2019.02.25
Comments