학습을 시작부터 ASP 사용에 이르기까지 많은 프로그램을 작성했습니다. 가장 번거로운 것은 데이터 페이징을 작성하는 것입니다. 매번 여러 변수 이름이나 여러 매개 변수의 차이 때문입니다. 따라서 매번 길고 복잡한 페이징 코드를 작성해야합니다. 긴 코드는 프로그램의 가독성을 악화시키고 비즈니스를 쉽게 여행 할 수 있습니다. 오랫동안 디버깅을 한 후 실수를 찾을 수 없으므로 인터넷에서 제공되는 일부 페이징 기능이나 페이징 클래스를 천천히 사용하기 시작했습니다. 실제로 많은 문제가 없지만 일반적인 기능 및 클래스 방법은 데이터 표시 부분을 캡슐화하는 것입니다. 마다, 원하는 효과를 달성하기 위해서는 함수 또는 클래스 자체를 변경해야하므로 사용하기 편리하지 않습니다. 스스로 작성된 페이지는 다른 사람들의 사람들은 물론 이미 충분히 복잡합니다.
그래서 나는 어제 시간을 보냈던 동안 혼자서 한 번에 한 수업을 썼고 나 자신에 대해 기분이 좋았습니다 (계란으로 나를 부수 지 마십시오). 여기에서 내 경험을 공유하겠습니다 (경험에 대해 이야기 할 수 없습니다. 생각해 봅시다). 더 이상 여기서 페이지 매김의 원리에 대해 이야기하고 싶지 않습니다. 어쨌든, 모두가 그것을 이해하고, 깊이 말하고 싶은지 모르겠습니다. 헤헤.
1. 페이징 클래스를 만드는 목표
글을 쓰기 전에 나는 어떤 종류의 수업을 쓰고 싶었는지 생각했습니다. 페이징을 쓸 때 과거를 회상했을 때 가장 성가신 것은 매번 복잡한 페이징 코드를 작성해야했습니다. 가장 큰 걱정은 매번 몇 가지 변수 이름의 차이라는 것이 었습니다. 따라서 달성해야 할 첫 번째는 이것을 캡슐화하는 것입니다. 두 번째는 페이지 매김의 내비게이션 막대를 캡슐화하는 것입니다. 세 번째는 익숙하지 않아 데이터 표시 부분을 캡슐화하는 것입니다. 이것은 프로그램이 편리하지 않으며 매번 디스플레이 효과가 다른 사용자에게는 페이징을 스스로 작성하는 것보다 더 번거 롭습니다. 따라서 내 목표는 RecordSet의 간단한 캡슐화를 만드는 것입니다.
2. 창조 과정
그래서 내가 쓴 첫 번째 재산은 처리 된 레코드를 반환하는 것입니다.
PublicPropertyGetGetrs ()setxd_rs = server.createObject ( "adodb.recordset")
xd_rs.pagesize = pagesize
XD_RS.OPENXD_SQL, XD_CONN, 1,1
ifnot (xd_rs.eofandxd_rs.bof)
ifint_curpage> xd_rs.pagecountthen
int_curpage = xd_rs.pagecount
endif
xd_rs.absolutepage = int_curpage
endif