안규 공부방

ACTIVE SERVER PAGE > Recordset - Method

등록일 : 2017-07-04 17:11 조회수 : 94,037

5.14.1 GetString

페이지에 테이블을 출력할 때는 대부분 그 내용을 채우는 데 레코드셋을 사용하게 됩니다. 맞죠?
이때 recordset 오브젝트의 GetString 메소드를 사용하여 색다른 방법으로 테이블을 만들수 있답니다.
GetString 메소드는 레코드셋에 있는 데이터의 조각들을 빼내어 html 태그와 절묘하게 결합하여
Response.write 구문을 이용하여 만들어진 문자열을 출력하기만 하면 되는겁니다.
제가 이런저런 말을 주절거리기 전에,, 소스를 보면서 간단히 분석해 보기로 하겠습니다.. ..
좋죠??? ^^;
 
<%
        Set Conn=Server.CreateObject("ADODB.Connection")
        Conn.Open("DSN=cak0280;UID=sa;PWD=;database=cak0280")
        
        SQL = "SELECT name,email,title FROM board ORDER BY ref desc, re_step asc"
        Set rs = Server.CreateObject("ADODB.Recordset")
        
        rs.Open SQL,conn,1
        
        Response.write "<table border=1><tr><td>"
        response.write rs.GetString(,,"</td><td>","</td></tr><tr><td>","*")
        response.write "</td></tr></table>"
        %>  



대충 알 것도 같으면서 실제 프로그램을 돌려 보지 않은 이상 고개를 갸우뚱하게 만드는 부분도 있습니다...
먼저 간단한 설명을 드리도록 하겠습니다.

rs.GetString(,,"</td><td>","</td></tr><tr><td>","*")

이 문장을 보자... 먼저 5개의 인자값을 사용할수가 있다...
첫번째와 두 번째는 생략되었다... 첫 번째인자는 adClipString라는 문자를 넣을수 있는데,,,, 출력형태를 문자열로 출력
시켜준다고 한다... 근데,,, 왜 내가 실행하믄 버그가 나오는지 모르겠다..
그리구 두 번째 인자값은 -1,1,2,3,,,, 등등의 숫자를 넣을 수 있다... -1은 모든 레코드를 출력한다는 의미이고,
1은 1개의 레코드를 2는 두 개의.... 등등으로 주면 됩니다.
생략을 하게되면,,, 기본 -1이 셋팅되어 모든 레코드를 출력하게 됩니다.
세 번째 피라미터는 읽혀진 필드 데이터와 결합할 행 구분 태그입니다. 하나의 필드가 끝났으므로 </td> 태그를 이용해서
끝내고 다시 <td>태그를 이용해서 다음 행을 결합해 주어야겠지요?
네 번째 피라미터는 열을 구분하는 데 사용되는 태그로 레코드의 마지막 필드를 읽어들인 후 결합하게 되는 부분입니다.
그리구, 마지막 피라미터는 필드에 데이터가 없을때 출력하는 문자열입니다...... 이해 가시죠???

간단한 디비 내용출력에는 상당히 막강한 기능을 가지고 있는 방면에 getstring에서는 원하는 레코드나 필드를 선택할 수
없으므로 이런 과정이 있다면 미리 해 주어야 합니다.

그럼,,, 이글을 읽는 분들에게 얼마나 도움이 됐는지 모르겠군요... 아마 많은 도움은 되지 못했더라도,,, asp 기능은 아직도
알아야 될 것이 너무나 많다는 것 하나는 아마 느끼게 됐을지도 모르겠군요...  
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.