권장 : ASP와 ASP의 차이점은 무엇입니까? 이전 기사에서 우리는 ASP가 완전한 운영 체제의 일부라는 것을 인식했습니다. 그러나 ASP가 이전 버전의 ASP와 다른 이유는 무엇입니까? 그들 사이의 차이점은 무엇입니까? 일부 페이지 나 응용 프로그램을 실행하는 경우 전혀 눈치 채지 못할 것입니다.
ASP를 학습 할 때 필수적인 것은 4 가지 주요 작업, 즉 추가, 삭제, 수정 및 점검을 사용하는 것입니다. 가장 번거로운 것은 데이터베이스의 데이터를 클라이언트에 출력하는 것입니다. 예를 들어 데이터가 거의 없으면 데이터베이스에 몇 가지 조각이 있으므로 직접 출력 할 수 있습니다. 그러나 데이터가 많으면 SQL 최적화에만 의존하여 쿼리를 완료 할 수 없습니다.
그렇다면 쿼리 결과를 어떻게 최적화 할 수 있습니까? 어쩌면 우리는 페이징을 생각할 것입니다. 예, ASP 내장 구성 요소는 레코드 세트 객체를 제공합니다. 우리는이 객체의 여러 속성을 사용하여 원하는 결과를 쉽게 얻을 수 있습니다.
ASP를 연구 한 대부분의 친구들은 페이징 코드를 쓸 수 있으므로, 우리는이 방법을 쓸 것입니다.
우리가 데이터베이스에 연결되어 있다고 가정합니다.
<!-#include file = conn.asp--> '데이터베이스 연결 문자열 포함
rs.pagesize = 10 '세트 페이지 당 표시되는 10 개의 레코드가 표시됩니다
page = cint (request (page)) 'QueryScring을 사용하여 현재 전임자를 얻습니다
Page <1 인 경우 페이지 = 1 '페이지 수가 1 미만인 경우 첫 페이지가 표시됩니다.
Page> rs.pageCount 인 경우 Page = Rs.PageCount '페이지 수가 마지막 페이지보다 큰 경우 마지막 페이지를 표시합니다.
나 자신 = request.serververables (path_info) '현재 페이지의 상대 경로를 가져옵니다
Page> 1 인 경우 rs.AbSolutePage = Page '페이지 수가 1보다 큰 경우 절대 페이지 수가 표시됩니다.
'사이클 출력 페이지 수
i = 1 ~ rs.pagecount의 경우
rs.eof 인 경우 '레코드가 마지막으로 루프를 종료합니다.
i = 페이지 인 경우
응답 | & i & |
또 다른
응답 | <a href = & 나 자신 &/page = & i &> & i & </a> |
끝 If
끝
'사이클 출력 레코드 번호
i = 1 ~ rs.pagesize의 경우
rs.eof라면 종료하십시오
응답. rs (id)
응답. rs (사용자)
응답. rs (pwd)
rs.movenext
끝
'데이터베이스를 닫고 연결하십시오
Rs.Close
conn.close
Conn = 아무것도 설정하지 않습니다
RS = 아무것도 설정하지 않습니다
그러나 이것은 최적의 최적화를 달성하지 못합니다. 페이지 후 페이지를 입력하면 페이지 = ADSF. Cint 함수가 문자열을 정수로 변환 할 수 없으므로 오류 결과가 나타납니다. 데이터베이스에 연결할 때 다음과 같은 진술을 작성했기 때문에 오류가 발생하지 않아도됩니다. 이는 프로그램 오류가 발생하면 다른 진술에 영향을 미치지 않으면 실행을 계속하지 않습니다. 이 코드를 삭제하면 오류가됩니다. 그래서 우리는 실수를 피하는 방법을 고려합니까? 우리는 다음과 같은 진술을 할 수 있습니다.
page = cint (요청 (페이지))
이 방법을 작성하십시오 :
page = strim (요청 (페이지))
iSnumeric (페이지)이면
page = cint (페이지)
또 다른
페이지 = 1
끝 If
이런 식으로, 소수점이든 다른 숫자이든 숫자를 입력하면 정수로 변환됩니다. 우리가 비 다발성을 입력하면 페이지는 1과 같아서 프로그램이 실수하지 않도록합니다!
공유 : 간단한 웹 개발 사양 1. Page Design Part 1. IMG Control Alt : 모든 디스플레이 이미지에는 이미지의 내용을 간단히 설명 할 수있는 텍스트 설명이 있어야합니다. 2. 입력 제어 MaxLength : 모든 입력 컨트롤은 MaxLength 속성을 공식화해야하며 기본값은 데이터베이스의 해당 필드의 길이입니다.