티스토리 뷰

Web Development/Asp

ASP 페이징 안될 때

dev ms 2015. 1. 10. 13:19
반응형

1.

레코드셋의 AbsolutePage 속성은 레코드셋의 현재 뷰 페이지 위치를 지정합니다.

 

ASP에서 쿼리 결과로 돌려받게 되는 결과 데이터는 레코드셋이라는 객체에 저장합니다. (위에서는 dbRec 변수가 레코드셋 객체가 됩니다.)

 

레코드셋에 저장된 결과가 많을 경우 여러 페이지에 걸쳐서 화면에 출력하는 것을 지원하는데, 그것에 사용되는 속성이 AbsolutePage와 PageSize 입니다.

 

레코드셋에 저장된 결과를 페이지로 나눌때 한 페이지 당 몇건을 출력하는지를 PageSize 로 설정합니다. PageSize가 설정된 레코드셋은 내부적으로 전체 건수를 PageSize로 나누어 페이지를 계산하게 되며, 이렇게 계산된 페이지 중 하나를 선택하는 것이  AbsolutePage 속성입니다.

 

레코드셋의 AbsolutePage와 PageSize를 이용한 페이징은 레코드셋에서 지원해 주는 기능을 이용한 것이므로 구현이 쉬운 장점이 있지만, 현재 출력되는 페이지 이외의 데이터도 레코드셋에 내려 받게 되므로 불필요한 자원 낭비가 발생하게 됩니다.

 

레코드셋을 이용한 페이징은 ASP 초급 단계에서 많이 사용하며, 프로그래머가 출력 페이지의 성능을 고민하는 수준이 된다면 쿼리를 이용한 페이징을 사용하게 됩니다.

 

 AbsolutePage 속성과 같은 용도로 사용되는 속성에는 AbsolutePosition 이 있으며, 둘은 완전히 동일한 용도로 사용되므로 취향에 맞춰 쓰시면 됩니다. (일반적으로  AbsolutePage를 많이 사용합니다.)


 

 

2.

만약 게시판에 총 게시판에 등록된 글이 356개라면

 

한 페이지에 게시판 글수를 10개씩만 보여준다고 하면

356/10 = 35.6 페이지

토탈 페이지는 36페이지 겠죠

 

최상위글이 현재페이지에 보여지므로 36페이지가 absolut page

 인데 게시판에서는

 

<<    PREV    1,2,3,4,5,6,7,8,910  NEXT  >>

여기서 PREV는 이전페이지, NEXT는 다음페이지

<< 는 현재페이지에서 10페이지 이전 페이지

>> 는 현재 페이지에서 10페이지 다음 페이지

만약 여기에서 >> 를 클릭하게 된다면

<<  PREV 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 NEXT >>

이렇게 되도 리스트 목록에는 11페이지의 11개 글 목록만 보이는 거죠

 

여기서 absolutepage는 11페이지 입니다.

 

그런데 absolutepage를 사용하는 이유는 recordset과 관련이 있습니다.

rs.absolutepage

 

만약 rs.absolutepage 가 안되는 경우라면

 

select한후

 

rs.Open SQL, conn,1,2,1

이 부분에서 커서타입이 문제가 되는 것입니다.

 

select문에서 조인이 걸려 있으면

rs.Open SQL, conn, 3,2,1

으로 하시면 됩니다. 
[출처] AbsolutePage의 기능|작성자 allenemy8

반응형

'Web Development > Asp' 카테고리의 다른 글

asp 에서 json 사용방법  (0) 2015.01.10
asp 개발시 에러 코드도 안보인다면?  (0) 2015.01.10
asp 파일 다운로드  (0) 2015.01.10
현재 url 저장 방법.  (0) 2015.01.10
asp 로그 아웃 부분  (0) 2015.01.10