▶ 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
%>