권장 : ASP 기술 및 PHP, CGI, JSP 및 기타 기술 비교 현재 가장 일반적으로 사용되는 3 가지 동적 웹 언어는 ASP (Active Server Pages), JSP (Javaserver Pages) 및 PHP (HyperText Preprocessor)입니다. 소개 ASP Full Name Active Server 페이지는 웹 서버 측 개발 환경입니다.
많은 소개를 읽은 후, SET RS = CONN.EXECUTE (SQL)의 실행 효율이 Rs.Open SQL, Conn, 1,1의 실행 효율보다 훨씬 높지만 SET RS = CONN.EXECUTE (SQL)의 실행 방법에도 많은 단점이 있음을 알고 있습니다. 우선, Rs.Pagesize, RS, AbsolutePage 및 기타 속성과 같은 페이징 속성이 없습니다. 이러한 방식으로, SET RS = CONN.EXECUTE (SQL)가 이러한 방식으로 더 빨리 실행되지만 일반적인 방식으로는 페이지를 찍을 수 없습니다. 어떻게해야하나요? ?
그 다음날, 나는 온라인으로 정보를 확인하고 갑자기 필요한 데이터를 배열에 언급 한 다음 배열을 촬영할 수 있는지에 대해 갑자기 생각 했습니까? 먼저, rs.getrows ()를 통해 쿼리 세트 rs = conn.execute (sql)의 결과를 꺼내어 배열에 첨부했습니다. 그래서 각 웹 사이트에서 PAGED 게시물을 찾았습니다. 저장 절차 등을 포함한 많은 효율적인 PAGED 게시물을 발견했지만 SQL을 통해 모든 것이 실행되어야한다는 것을 알았습니다. 즉, 페이지를 돌릴 때 SQL 문을 실행해야했습니다. 현재, 나는 현기증이 났고, 유일한 최적화는 SQL 진술 일뿐이었습니다. 나는 정말로 선택의 여지가 없었습니다. 마지막으로 배열 페이징의 대략적인 초안이 완료되었습니다. 코드는 그다지 완전하지 않았습니다. 모두가 함께 공부하게하십시오! 코드는 다음과 같습니다.
먼저 index.asp 쿼리 페이지가 있습니다.
| <html xmlns = http : //www.w3.org/1999/xhtml> <헤드> <meta http-equiv = content-type content = text/html; charset = gb2312 /> <title> 제목의 문서 </title> </head> <body> <form id = searchform name = searchform method = post action = search.asp? act = cha> <div class = input> <input id = keyword onmouseOver = this.focus () title = 메시지 레코드를 빠르게 검색 onfocus = this.select () class = in maxlength = 35 name = keyword /> <select style = 너비 : 120px; 마진-탑 : -25px name = channelid> <옵션 값 = k2> 메시지 </옵션> <옵션 값 = k1> 메시지 내용 </옵션> </선택> <입력 ID = Search_BTN 유형 = 제출 값 = 쿼리> </div> </form> </body> </html> Search.asp 코드 : <html xmlns = http : //www.w3.org/1999/xhtml> <헤드> <meta http-equiv = content-type content = text/html; charset = gb2312 /> <title> 제목의 문서 </title> </head> <body> <% request.querystring (act) = cha 인 경우 search_type = request.form (channelId) 키워드 = request.form (키워드) Seark_Type = k1 인 경우 '메시지 내용에 따라 검색 sql = select *에서 gbook_rec에서 g_content는 '%& keywords &%'와 같은 g_content elseif search_type = k2 그러면 'seark_type = k2 인 경우'메시지로 검색하십시오 sql = select *에서 gbook_rec에서 g_name은 '%& keywords &%'와 비슷합니다. 또 다른 응답. 엔드 끝 If set rs = conn.execute (SQL) rs.eof와 rs.bof라면 %> <div class = search> 원하는 레코드를 찾을 수 없었습니다! </div> <% 응답. 엔드 또 다른 aresults = rs.getrows () '데이터를 꺼내어 배열 행에 넣으십시오. 응용 프로그램 (data) = aresults RS = 아무것도 설정하지 않습니다 Conn.Close '데이터베이스를 닫습니다 끝 If 끝 If aresults = 응용 프로그램 (데이터) Dim I, Row, Pagesize, Epage, Numb, Pagecount, Fenye numb = ubound (Aresults, 2) 1 '총 레코드 행 수 Pagesize = 2 '페이지 당 숫자 MOMB MOD Pagesize = 0이면 '총 페이지 수를 판단하십시오. pagecount = int (numb/pagesize) 또 다른 pagecount = int (numb/pagesize) 1 끝 If 에피소드 = request.querystring (페이지) epage =이면 epage = 1입니다 i = (epage-1)*pagesize to epage*pagesize-1 i> ubound (aresults, 2) 또는 i <0이면 종료하십시오 %> <div class = content> <ul> <li> 레코드 <%= i 1%> </li> <li> 메시지 : <%= aresults (1, i)%> </li> <li> 내용 : <%= aresults (2, i)%> </li> <li> 시간 : <%= aresults (3, i)%> </li> <li> ip : <%= aresults (5, i)%> </li> </ul> </div> <% 다음 numb> pagesize라면 fenye = <a href = search.asp? page = 1> 홈 페이지 </a> fenye = fenye & <a href = search.asp? page = & epage-1 & title = & epage-1 &> 이전 페이지 </a> fenye = fenye & <a href = search.asp? page = & epage 1 & title = & epage 1 &> 마지막 페이지 </a> fenye = fenye & <a href = search.asp? page = & pagecount &> 마지막 페이지 </a> fenye = fenye & <br> fenye = fenye & 총 페이지 수 & pagecount &, 현재 페이지 & epage &, 총 레코드는 : & numb 응답. fenye를 쓰십시오 끝 If %> </body> </html> |
요약 : 위의 코드는 첫 번째 쿼리를 제외하고는 데이터베이스에 연결할 필요가 없으며 큰 데이터 쿼리 또는 많은 사람들이 연결할 때 리소스 저장에 매우 유용합니다! 또한 응용 프로그램 객체에 쿼리 배열을 저장하면 응용 프로그램 (데이터)을 기반으로 누군가 쿼리 한 내용을 결정할 수도 있습니다 (사용자 이름). 그러나이 코드는 첫 번째 모델이며 향후 개선하기에 충분할 것입니다! 모두가주의를 기울이고 지원하기를 바랍니다. 감사합니다!
테스트 코드 다운로드
공유 : 무료 간단한 대화방 소스 코드 chat.html 다음은 참조 된 내용입니다.