본문 바로가기

Developer/VB.net

[VB.net] RecordCount 함수 만들기

본 소스는 개인적으로 공부하며 터득한 방법으로 더 좋은 방법이 있을 수 있음을 인지해주시기 바랍니다.
더 좋은 방법이 있다면 댓글에 남겨주시면 감사하겠습니다.

 

비주얼베이직 특성상 데이터베이스를 자주 건드리게 되는데.
가장 간단하다라고 생각하는 레코드셋의 Count 를 구해올 수가 없어서..
함수를 만들었다..

물론 자체 RecordCount 라는 함수가 있긴한데..
이유를 알수는 없으나 "-1" 이라는 값만 리턴하고있는 시츄..
에라이 반환값 이해하는이 그냥 하나 만들고 만다..

보아하니 레코드셋을 배열로 만들어서 배열 자체를 컨트롤하는 방법이 있는것 같기도 하지만..
쩝.. 그리 좋아보이지는 않기에...

1. DB 호출
 If MainConnOpen("") = True Then
            RS = New ADODB.Recordset
            RS.Open(sqlQuery, MainConn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly)

            If Not RS.EOF Then
                RSCount = getRSCount(RS)
                RS.Close()
                RS = Nothing
            End If
  End If

2. Count 함수
 Public Function getRSCount(ByVal RS As ADODB.Recordset) As Integer
        Dim count As Integer
        count = 0
        RS.MoveFirst()
        While Not RS.EOF
            count = count + 1
            RS.MoveNext()
        End While
        getRSCount = count

        RS.MoveFirst()
    End Function