ADO 컴포넌트 - Fields 컬렉션

by 조쉬 posted Jan 16, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

▶ Fields 컬렉션

- 현재 레코드 포인터가 가르키는 레코드 내의 필드 값들을 갖는 컬렉션이다.

- 현재 레코드가 갖는 필드의 수는

' 현재 레코드의 필드 수

   objRS.Fields.Count

 

  를 이용해 구하면 된다.

   위의 레코드 셋 그림의 Fields.Count는 3 이다.

 

- 현재 레코드에서 각 필드의 값을 읽는 방법은 두가지다.

- 필드 이름을 사용하여 현재 레코드의 필드값을 읽는 경우

 objRS.Fields.Item("필드이름")

 or

 objRS.Fields("필드이름")

 or

 objRS("필드이름")

- 인덱스 번호를 사용하여 현재 레코드의 필드값을 읽는 경우

' 필드이름을 모르는 경우 인덱스 번호를 0부터 시작하여 fields.count -1 까지

 objRS.Fields.Item(0)

 objRS.Fields(0)

 objRS(0)

 

<%

' Recordset 객체를 생성한 후에

' 데이터베이스에 연결하여 레코드셋을 읽는다. regist란 테이블을 읽음, DSN이름은 "test"

Set objRS = Server.CreateObject("ADODB.Recordset")

sqlQuery = "SELECT * FROM regist"

objRS.Open sqlQuery, "test"

' HTML 문서의 앞 부분을 출력한다.

Response.Write "<HTML>"
Response.Write "<HEAD>"
Response.Write "<TITLE> User Account List </TITLE>"
Response.Write "</HEAD>"
Response.Write "<BODY>"
Response.Write "<I>회원 목록</I>"

' 레코드셋에 레코드들이 있는가 ?

If (objRS.BOF and objRS.EOF) Then

    Response.Write "리턴 결과가 없어요."

Else

' 레코드셋에 레코드가 있으면,

    FCount = objRS.Fields.Count - 1

    Response.Write "<TABLE BORDER=1>"
    Response.Write "<TR>"

'   필드 이름을 출력한다.

    For i=0 To FCount

        Response.Write "<TH> " & objRS(i).Name & " </TH>"

    Next

    Response.Write "</TR>"

'   레코드들을 하나씩 불러와 필드 수만큼 필드값을 출력한다.

    While (Not objRS.EOF)

        Response.Write "<TR>"

        For i=0 To FCount

            Response.Write "<TD> " & objRS(i) & " </TD>"

        Next

        Response.Write "</TR>"

        objRS.MoveNext

    Wend

    Response.Write "</TABLE>"
End If

' HTML 문서의 뒷 부분을 출력한다.

Response.Write "</BODY>"
Response.Write "</HTML>"

' Recordset 객체를 닫고 파기한다.

objRS.Close

Set objRS = Nothing

%>