이 기사는 주로 ASP에서 Pagination 디스플레이를 구현하는 7 가지 방법을 소개합니다.
Microsoft의 ASP 프로그래밍 시스템에서 ADO 객체를 설정하면 웹 페이지에서 데이터베이스에 액세스 할 수 있습니다. 특히 ADO RecordSet 객체는보다 편리하고 제어 데이터의 출력을 자유롭게 표시 할 수 있습니다. Visual Interdev6.0 (이하 VI6.0이라고 지칭)에서 스크립트 객체 모델 (SOM이라고 함)과 같은 객체 모델의 도입, 설계 시간 제어 (이하 DTC라고 함) 및 데이터 환경 객체 모델 (이하 DEOM이라고 함)은 웹 페이지에 데이터베이스에 액세스하기에 더 편리하게 만듭니다.
주제로 인해 데이터베이스 연결과 관련하여 다음은 코드와 간단한 의견 만 제공하며 RecordSet 객체 (또는 컨트롤)를 사용하여 데이터 레코드의 페이지 매김 표시를 구현하는 방법에 중점을 둡니다. 내 이해에 따르면, Pagination 디스플레이의 핵심은 Ado의 Recordset Object 또는 DTC (설계 시간 제어)의 특성과 방법을 마스터하는 것입니다.
페이지에 표시된이 7 가지 무기는 네 가지 범주로 요약되어 있습니다. 첫 번째 및 두 번째 무기는 일시적으로 순수한 ASP 방법이라고합니다.
이것은 또한 국내 ASP 웹 사이트에서 가장 일반적으로 사용되는 방법입니다. 이 두 가지 방법의 구현은 가장 쉽게 이해하기 쉽고 최소한의 객체 개념이 사용되며 개발 환경에 대한 최소 요구 사항 (메모장 만). 이 두 가지 방법의 본질은 여전히 CGI의 프로그래밍 아이디어이며, ADO 객체를 프로그램에 소개하는 것입니다.
네 번째와 다섯 번째 DHTML 방법은 일시적으로 SOM입니다.
이 두 가지 방법은 VI6.0의 DHTML에서 Microsoft의 스크립트 객체 모델 (스크립트 객체 모델)과 테이블 객체의 데이터베이스 바인딩의 새로운 기능을 사용해야합니다 (많은 책과 기사는 DHTML의 CSS 기능 만 스타일 디자인의 응용 프로그램을 소개합니다 데이터 바인딩 특성의 도입을 무시하고 클라이언트 측의 페이지 회전율을 실현합니다. 그러나 사용자의 브라우저는 Microsoft Internet Explorer 4.0 이상과 같은 DHTML을 지원해야합니다.
여섯 번째 방법은 일시적으로 SOM 서버 측 메소드라고합니다.
Microsoft : Recordset, PageObject, Grid 등이 제안한 스크립트 객체 모델에서 여러 DTC 컨트롤을 사용하는 VI6.0 환경에서 개발이 필요합니다. 서버 측 (클라이언트)에서 페이지 컨트롤을 구현합니다. 이것은 웹 페이지를 객체로 취급하는 흥미롭고 새로운 프로그래밍 방법입니다 (이 객체 모델은 기존 DOM과 다릅니다 ---- 문서 개체 모델 : DOM은 클라이언트 만 제어 할 수 있지만 SOM은 서버 측과 클라이언트 측을 제어 할 수 있습니다. ), 웹 페이지의 객체 지향 프로그래밍을 진정으로 구현합니다. 그러나 불행히도, 내 개인적인 능력은 제한되어 있으며, 개인적 으로이 기술은 아직 성숙하지 않다고 생각합니다.
일곱 번째 방법은 일시적으로 DEOM 방법입니다.
또한 VI6.0에서 설정된 데이터 환경 객체 모델을 사용하여 레코드 세트 객체를 만듭니다. 이것은 또한 웹 프로그래밍에서 비교적 드문 새로운 방법으로, SOM 모델과 비교할 때 자체 장점이 있으며 나중에 자세히 설명합니다.
나중에 언급 된 모든 소스 코드는 직접 복사 할 수 있습니다.
다양한 페이징 방법을 자세히 도입하기 전에 데이터베이스를 만들어 봅시다 : Office97에서 Access를 사용하여 Emplyee.mdb를 만들고 테이블 emp를 생성하고 EMP ID, 성 및 이름을 세웁니다. 그 이유는 간단합니까? 레코드 세트의 결과를 다루는 방법에 관심이 있기 때문입니다.
매개 변수를 직접 대체하는 첫 번째 방법
이 방법은 레코드 세트 객체를 수동으로 생성하고 페이지를 사용하여 페이지의 출력을 제어하기 위해 Pageize (페이지 당 표시되는 레코드 수를 지정), PageCount (총 페이지 번호) 및 AbsolutePage (현재 페이지 번호) 속성을 사용하는 것입니다. 페이지 페이징은 직접 페이지 번호 매개 변수의 메소드를 사용하여 페이지 회전율을 제어합니다. 웹 페이지의 이름은 emp1.asp입니다. 소스 코드는 다음과 같습니다.
- <%// 직원 .mdb 데이터베이스와 연결을 설정합니다.
- setconn = server.createobject (adodb.connection)
- conn.opendriver = {Microsoft AccessDriver (*. mdb)}; dbq = Employee.mdb
- // EMP 테이블의 레코드 세트 객체의 인스턴스를 만듭니다.
- setrs = server.createobject (adodb.recordset)
- Rs. -Apenemp, Conn, 3
- pagesize = 10 // pagesize 속성 각 페이지에 표시 할 레코드 수를 지정합니다.
- page = clng (request (page)) '문자열 유형이 긴 유형으로 변환되었습니다
- ifpage th 1thenpage = 1
- ifpage> rs.pagecountthenpage = rs.pagecount
- ifpage th 1then
- 응답. write < ahref = emp1.asp? page = 1 > page1 </a>
- 응답. write < ahref = emp1.asp? page = & (page-1) & > 이전 페이지 </a>
- endif
- ifpage s. rs.pagecountthen
- 응답
- 응답. write < ahref = emp1.asp? page = & rs.pagecount & > 마지막 페이지 </a>
- endif
- 응답 페이지 번호 : & page &/rs.pagecount & </font >
- // 각 페이지의 표시
- // 헤더를 보여줍니다
- 응답. write center >< 테이블 보더 = 1 >
- 응답. 쓰기 < tr >< td > & rs.fields (empid) .name & </td >
- 응답. write < td > & rs.fields (lastname) .name & </td >
- 응답. write < td > & rs.fields (FirstName) .name & </td ></tr >
- // 각 레코드의 표시를 순환합니다
- rs.AbsolutePage = page // 현재 페이지의 첫 번째 레코드 번호를 알기 위해 페이지 번호를 AbsolutePage 속성에 할당합니다.
- Unipage = 1tors.pagesize //
- 응답. 쓰기 < tr >< td > & rs.fields (Empid) .Value & </td >
- 응답. write < td > & rs.fields (FirstName) .Value & </td >
- 응답. write < td > & rs.fields (lastname) .Value & </td ></tr >
- rs.movenext
- ifrs.eoftthenexitfor
- 다음
- 응답. 쓰기 </테이블/센터 >%>
두 번째 유형 : 양식 전송 매개 변수 방법
이 메소드는 Page Turning Control을 사용하여 PASE 문을 사용하여 페이지 회전을 달성한다는 점을 제외하고 RecordSet 객체를 작성할 때 첫 번째 방법과 동일합니다. 웹 페이지의 이름은 다음과 같습니다. Emp2.asp. 이 방법은 프로그래밍 로직에 불이익이 있습니다. 이전 페이지 또는 다음 페이지 버튼을 누른 후 브라우저에서 새로 고침 버튼을 누른 후 페이지를 자동으로 돌립니다. 소스 코드는 다음과 같습니다.
- ifpagenum = thepagenum = 1 // 첫 페이지에서 표시됩니다
- // 데이터베이스 연결 및 레코드 세트 객체 인스턴스 Rs를 만듭니다.
- 첫 번째 방법과 동일하며 여기에서 건너 뜁니다.
- rs.pagesize = 10 '페이지에 표시된 레코드 수를 설정합니다.
- // 페이지 회전 조치를 확인합니다
- SelectCaseRequest (NAV)
- 사례
- 세션 (pagenum) = 1
- CaseFirst'FirstRecord
- 세션 (pagenum) = 1
- CasePrev'previousRecord
- ifsession (pagenum)> 1then
- 세션 (pagenum) = 세션 (pagenum) -1
- endif
- Casenext'Nextrecord
- ifsession (pagenum) < rs.pagecountthen
- 세션 (pagenum) = 세션 (pagenum) +1
- endif
- Caselast'Lastrecord
- 세션 (pagenum) = rs.pagecount
- EndSelect
- rs.AbsolutePage = clng (session (pagenum)) // 현재 페이지의 첫 번째 레코드 번호를 결정합니다
- // 현재 페이지를 표시합니다
- 첫 번째 방법과 마찬가지로 여기에서 건너 뜁니다.
- // NAV 페이지 회전 버튼 설정
- < formmethod = getAction = empl2.asp >
- < inputtype = awplyName = navvalue = home>
- < inputtype = admitalvalue = 이전 페이지 이름 = nav >
- < inputtype = admpervalue = 다음 페이지 이름 = nav >
- < inputtype = submitvalue = 마지막 페이지 이름 = nav ></form >
세 번째 유형 : 그리드 컨트롤을 사용하여 페이징을 설계하십시오
모든 방법 중에서이 방법이 가장 쉽습니다. DTC의 레코드 세트 제어 및 그리드 컨트롤을 ASP 웹 페이지로 드래그하면됩니다. 또한 서버 플랫폼 또는 클라이언트 플랫폼에서 페이지 회전율을 제어할지 여부를 선택할 수도 있습니다. 단점은 그것에 의해 주어진 형식으로 표시해야하며, 테이블의 디스플레이 형식을 직접 제어 할 수 없다는 것입니다.
이 방법은 다음과 같습니다.
VI6.0에서 Project Emp.Vip을 구축하십시오. 그런 다음 프로젝트에서 ASP 웹 페이지를 추가하십시오 : empt3.asp.
1 단계 : Data Connect 추가를 선택하고 VI6.0 메뉴 표시 줄에서 개발 도구의 내비게이션 프롬프트를 따라 직원.mdb 데이터베이스에 쉽게 연결할 수 있습니다. DTC 도구 모음에서 웹 페이지로 레코드 세트 컨트롤을 드래그하고 속성을 설정하십시오. 그림에 표시된대로 구체적으로 :
컨트롤을 웹 페이지로 드래그하면 vi6.0은 스크립팅 객체 모델을 사용하고 예를 누르십시오.
3 단계 : DTC 도구 모음에서 그리드 컨트롤을 웹 페이지로 드래그 한 다음 마우스 오른쪽 버튼을 클릭하여 다음과 같은 속성을 설정하십시오. 얼마나 많은 레코드가 표시되고, 디스플레이 형식 등 매우 간단하고 편리합니다. 내비게이션 프롬프트를 따르십시오.
네 번째 유형 : DHTML 메소드 1.
데이터 레코드는 HTML 테이블에 표시됩니다. DHTML에서 테이블의 데이터 바인딩 특성을 사용하여 레코드의 페이지 매김 표시를 제어합니다. 단점은 페이지 회전 메소드가 특정 메소드로 제한된다는 것입니다. 이전 페이지와 다음 페이지 만 홈 페이지와 마지막 페이지는 아닙니다. 클라이언트 측에서 제어 되므로이 방법과 다섯 번째 방법은 가장 빠르지 만 불행히도 DHTML을 지원하는 브라우저에서만 사용할 수 있습니다.
dhtml에서
DataSRC 속성을 사용하면 테이블이 데이터 소스에 바인딩 될 수 있으며 다른 속성 DataPagesize는 한 번에 페이지에 표시된 레코드 수를 지정합니다.
다음 예를 살펴 보겠습니다.
1 단계 : 레코드 세트 컨트롤을 새로 생성 된 웹 페이지 EMP4.HTM으로 드래그하고 그 방법은 여기에서 생략 된 세 번째 방법과 동일합니다.
2 단계 : 다음 코드를 입력하십시오.
- < tableId = table1datasrc =#recordset1_rdsdatapagesize = 5 > // 레코드 세트 컨트롤 이름이 recordset1이라고 가정합니다. 페이지 당 5 개의 레코드가 표시됩니다.
- < thead >
- < thalign = leftwidth = 150 > empid </th > // 출력 테이블 헤더
- < thalign = leftWidth = 200 > 마지막 이름 </th >
- < thalign = leftWidth = 200 > FirstName </th >
- </thead ead
- < tr >
- < td >< divdatafld = empid ></div ></td > // 출력 테이블 컨텐츠
- < td >< divdatafld = lastname ></div ></td >
- td >< divdatafld = FirstName ></div ></td >
- </tr >
- </테이블 >
3 단계 : 그런 다음 DTCS 버튼 버튼 컨트롤을 추가하여 페이지 턴 내비게이션 (BTNPrevious) (이전 페이지) 및 다른 하나는 btnnext (다음 페이지)를 수행합니다. 해당 스크립트는 다음과 같습니다.
- scriptLanguage = vbscript >
- functionbtnprevious_onclick ()
- 표 1.previouspage ()
- 최종 기능 장애
- functionbtnnext_onclick ()
- 표 1.nextpage ()
- 최종 기능 장애
- </스크립트 ipt
다섯 번째 유형 : DHTML 방법 2
이 방법은 네 번째 방법에 대한 완벽입니다. 수동 스크립팅 방법을 사용하면 홈페이지 및 마지막 페이지 턴 탐색 버튼을 만들고 각 레코드 (레코드 번호)의 위치를 결정할 수 있습니다. 길이로 인해 아래에 하나의 구체적인 예제 만 소개하고 간단한 설명을 제공합니다. DHTML 및 RecordSet Controls의 다른 속성 및 방법은 관련 서적을 직접 참조하십시오. 여기서 레코드 세트 컨트롤은 첫 번째 및 두 번째 방법에 소개 된 ADO 레코드 세트 객체와 다소 다르다는 점에 유의해야합니다. 레코드 세트 컨트롤은 Pagesize 및 PageCount와 같은 속성을 직접 제공하지 않으며 아래에 도입 된 방법을 사용하여 계산해야합니다.
1 단계 : RecordSet 컨트롤을 새로 생성 된 웹 페이지 EMP5.HTM으로 드래그하여 RecordSet1을 설정하고 그 방법이 여기에서 생략 된 방법과 동일합니다.
2 단계 : 세 가지 글로벌 변수를 정의하고 recordset1의 ondatasetComplete 스크립트를 작성하십시오.
- DimgCurrentPagenumber // 현재 페이지 번호
- DimgMaxPagenumber // 최대 페이지 수입니다
- DimGrecordSperpage // 페이지 당 표시되는 레코드 수
- GrecordsPerpage = 5 // 페이지 당 표시되는 레코드 수를 5 개의 레코드로 설정합니다.
- functionrecordset1_ondatasetComplete ()
- TotalrecordCount = RecordSet1.getCount () // 총 레코드 수
- gmaxpagenumber = int (TotalrecordCount/GrecordSperpage) // 최대 페이지 수를 얻습니다
- if (TotalRecordCountModGrecordSperpage) > 0then
- gmaxpagenumber = gmaxpagenumber+1
- endif
- 최종 기능 장애
3 단계 : 페이지 턴 탐색 버튼을 만듭니다.
- functionbtnfirst_onclick () '홈페이지로 플립
- gcurrentpagenumber = 1
- displayData ()
- 최종 기능 장애
- functionbtnprevious_onclick () '이전 페이지로 플립
- ifgcurrentpagenumber> 1then
- gcurrentpagenumber = gcurrentpagenumber-1
- displayData ()
- endif
- 최종 기능 장애
- functionbtnnext_onclick () '다음 페이지로 플립
- ifgcurrentpagenumber < gmaxpagenumberthen
- gcurrentpagenumber = gcurrentpagenumber+1
- displayData ()
- endif
- 최종 기능 장애
- functionbtnlast_onclick () '마지막 페이지로 플립
- gcurrentpagenumber = gmaxpagenumber
- displayData ()
- 최종 기능 장애
4 단계 : 각 페이지를 표시하는 함수를 작성하십시오. 많은 DHTML 속성 및 방법이 사용됩니다. 관련 서적을 직접 참조하십시오.
- subdisplayData ()
- startrecord = ((gcurrentpagenumber-1)*grecordsperpage)+1 // 각 페이지의 시작 부분에 표시된 레코드 수를 계산합니다 (위치, 항목)
- rowctr = 1
- lblpagenumber.innerhtml = gcurrentpagenumber &/& gmaxpagenumber
- forrecordptr = startrecordto (startrecord+grecordsperpage-1) // 사이클링으로 페이지에 각 레코드를 표시합니다
- ifrecordptr ord recordset1.getCount () 그런 다음 // 빈 테이블을 표시합니다
- 표 1.rows (rowctr) .cells (0) .innerhtml = < p ></p >
- 표 1.rows (rowctr) .cells (1) .innerhtml = < p ></p >
- 표 1.rows (rowctr) .cells (2) .innerhtml = < p ></p >
- 표 1. Rows (RowCtr) .Cells (3) .innerHtml = < p ></p >
- else // 각 페이지를 지정합니다
- RecordSet1.MoveAbSolute (RecordPtr) // 레코드 포인터를 이동합니다.
- empid = recordset1.fields.getValue (Empid)
- emplname = recordset1.fields.getValue (FirstName)
- empfname = recordset1.fields.getValue (lastname)
- 표 1.rows (rowctr) .Cells (0) .innerText = RecordPtr'Counter
- 표 1.rows (rowctr) .Cells (1) .innerText = empid
- 표 1.rows (rowctr) .cells (2) .innertext = emplname
- 표 1.rows (rowctr) .cells (3) .innertext = empfname
- endif
- rowctr = rowctr+1
- 다음
- Endsub
또한 Window Object의 Onload 이벤트에서 다음 스크립트를 작성해야합니다.
- forrowctr = 1TogrecordSperpage
- 표 1.insertrow (rowctr) '새 열을 삽입하십시오
- forcellctr = 0to3
- 표 1.rows (rowctr) .insertcell ()
- 다음
- 다음
여섯 번째 방법 : 서버 측 제어 페이지 회전율.
서버의 데이터를 Pagination 한 다음 클라이언트에 출력하면 브라우저가 DHTML을 지원하지 않는다는 데 아무런 문제가 없습니다. 그러나 서버 측 메소드를 사용하면 페이지를 전환 할 때마다 레코드 세트 컨트롤을 재생해야하므로 속도가 DHTML 메소드를 사용하는 것보다 속도가 느리게 진행됩니다. 그러나 서버가 충분히 빠르면 고객의 속도는 눈에 띄지 않습니다.
다음 예에서는 새로운 DTC 컨트롤을 소개합니다 : PageObject. 이 컨트롤은 지정된 웹 페이지를 객체로 만들고 웹 페이지의 서버 스크립트에서 사용자가 구성한 서브 루틴 및 기능은 웹 페이지 객체의 메소드로 간주 될 수 있습니다. 상태 정보를 관리하기위한 고급 방법을 제공합니다. 웹 객체에는 사용자가 이러한 속성의 수명을 정의 할 수있는 속성 (변수)이 있습니다. 위의 기능으로 인해 페이지 전환 스크립트를 컴파일하는 것이 매우 편리합니다.
그러나이 방법의 단점은 다음과 같습니다. 이전 페이지 또는 다음 페이지 버튼을 누른 다음 브라우저의 새로 고침 버튼을 누르면 웹 페이지가 자동으로 페이지를 삭제합니다. 또한 브라우저에서 폴백 버튼을 누른 다음 페이지 회전 버튼을 누르면 무작위로 돌릴 수 있습니다. 이것은 모두 웹 객체 속성 (글로벌 변수)으로 인해 발생합니다.
1 단계 : RecordSet 컨트롤을 새로 생성 된 웹 페이지 EMP6.asp로 드래그하고 그 방법은 여기에서 세 번째와 동일합니다.
2 단계 : PageObject 컨트롤을 웹 페이지로 드래그하고 이름을 지정합니다. 그런 다음이 컨트롤을 마우스 오른쪽 단추로 클릭하여 속성 페이지를 열고 MaxPagenumber, RecordsPerpage 및 CurrentPagenumber의 3 개의 속성 (글로벌 변수)을 설정하십시오. VI6.0은 Get and Set Methods를 사용하여 특정 사용을 읽고 쓸 수 있습니다.
3 단계 : recordset1의 ondatasetComplete 이벤트를 작성하십시오.
- functionrecordset1_ondatasetComplete ()
- RecordSperPage = 5
- emplist.setRecordSperpage (RecordsPerpage) // 페이지 당 객체 객체 기록 속성을 5로 설정
- TotalrecordCount = recordset1.getCount () // 총 레코드 세트 수를 얻습니다
- mpn = int (TotalrecordCount/RecordsPerpage) // MPN을 총 페이지 수로 계산합니다
- if (totalrecordCountModRecordSperpage) > 0then
- MPN = MPN+1
- endif
- emplist.setmaxpagenumber (mpn)
- 최종 기능 장애
4 단계 : 4 개의 버튼 컨트롤을 웹 페이지로 끌어 내고 페이지 턴 제어 스크립트를 작성하십시오. 우리는 주로 웹 페이지 객체의 CurrentPageNumber 속성 값을 변경하여 페이지 회전을 알고 있습니다.
- functionbtnfirst_onclick () '홈페이지로 플립
- emplist.setcurrentpagenumber (1)
- 최종 기능 장애
- functionbtnprevious_onclick () '이전 페이지로 플립
- cpn = emplist.getCurrentPagenumber ()
- ifcpn > 1then
- emplist.setCurrentPagenumber (CPN-1)
- endif
- 최종 기능 장애
- functionbtnnext_onclick () '다음 페이지로 플립
- cpn = emplist.getCurrentPagenumber ()
- ifcpn < emplist.getMaxPagenumber () 그런 다음
- emplist.setcurrentpagenumber (cpn+1)
- endif
- 최종 기능 장애
- functionbtnlast_onclick () '마지막 페이지로 플립
- emplist.setCurrentPagenumber (emplist.getMaxPagenumber ())
- 최종 기능 장애
처음으로 페이지를 입력 할 때 첫 페이지가 표시되도록하려면 웹 페이지 객체의 OnEnter 이벤트를 작성해야합니다.
- functionemplist_ontinger ()
- ifemplist.firstenteredthen
- emplist.setcurrentpagenumber (1)
- endif
- 최종 기능 장애
- 5 단계 : 각 페이지를 표시하는 스크립트를 작성하십시오.
- HR >< TABLOURDER = 0 >< tr > // 헤더를 표시합니다
- < thalign = leftWidth = 35 ></th >
- < thalign = leftwidth = 150 > empid </th >
- < thalign = leftWidth = 200 > 마지막 이름 </th >
- < thalign = leftWidth = 200 > FirstName </th ></tr >
- <%
- pagenumber = emplist.getCurrentPagenumber () // 페이지 회전에 필요한 다양한 매개 변수 계산, dhtml 메소드와 동일합니다.
- RecordSperPage = emplist.getRecordSperPage ()
- startrecord = ((Pagenumber-1)*RecordSperPage) +1
- lastrecord = recordset1.getCount ()
- forrecordptr = startrecordto (startrecord+recordsperpage-1)%>
- <%ifrecordset1.eof = truethen%>
- < tr >
- td ></td >
- td ></td >
- td ></td >
- td ></td >
- </tr >
- <%else%%
- <%recordset1.MoveAbSolute (recordptr)%>
- < tr >
- <%ifrecordptr < = lastrecordthen%>
- < td ><%= recordptr%></td >
- <%else%%
- td ></td >
- <%endif%end
- < td ><%= recordset1.fields.getValue (Empid)%></td >
- < td ><%= recordset1.fields.getValue (lastname)%></td >
- < td ><%= recordset1.fields.getValue (FirstName)%></td >
- </tr >
- <%endif%end
- <%다음%%
- </테이블 >< hr >
일곱 번째 유형 : 데이터 환경 객체 모델 방법
데이터 환경 객체 모델은 ADO 객체 모델과 해당 객체 (연결, 명령, 레코드 세트, 필드 및 매개 변수 개체)를 더 쉬운 형태로 추상화합니다. 데이터 환경 객체 모델은 명령을 메소드로 표시합니다. 사용자는 이러한 방법을 호출하여 이러한 명령을 실행하고 결과 레코드 세트를 반환 할 수 있습니다. Deom Object 모델에 대한 자세한 정보는 관련 서적을 참조하십시오. EMP7.asp의 다음 예를 살펴 보겠습니다.
1 단계 : VI6.0의 프로젝트 탐색기 창에서 프로젝트의 마우스를 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 데이터 연결 추가를 선택하십시오. VI가 제공 한 내비게이션 프롬프트에 따라 데이터베이스에 대한 연결을 설정 한 후 사용자는 데이터 명령을 추가하여 ASP 응용 프로그램에서 데이터베이스에 액세스합니다. 동시에 프로젝트 탐색기 창에 Global.asa 파일 아래에 데이터 환경 객체가 표시됩니다.
2 단계 : 데이터 환경 객체를 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 데이터 추가 명령 옵션을 선택하여 데이터 명령을 추가하십시오. VI6.0의 내비게이션 프롬프트에 따르면, command1 속성 팝업 창의 유전자 페이지에서 SQL 문을 선택하고 다음을 입력 할 수 있습니다. OK를 누르려면 반환하십시오.
3 단계 :이 데이터 명령을 작성한 후에는 데이터 환경 객체에 대한 메소드를 생성 한 다음 스크립트 에서이 메소드를 호출 할 수 있으며 메소드가 레코드를 사용자에게 반환합니다.
thispage.createde () // SOM 모드 에서이 페이지는 현재 웹 페이지 객체를 나타내고 create () 메소드는 de 객체를 생성합니다.
de.command1 // 나중에 매개 변수로 사용할 수있는 de 객체의 명령을 실행하여 조건부 쿼리를 수행 할 때 매우 유용합니다.
set rs = de.rscommand1 // de.rscommand1은 rs 객체를 Ado Recordset 객체와 완전히 동일하게 만듭니다.
4 단계 : RS는 ADO 객체이기 때문에 다음 구현 페이지 회전 코드는 위에 소개 된 메소드를 완전히 말하며 여기에서 건너 뜁니다.
FrontPage2000의 데이터베이스 내비게이션에서 구현 된 것과 같은 다른 방법은이 주제와 관련이 없으므로 여기에서 생략됩니다.
요약하면, 위에서 소개 된 각 방법에는 많은 새로운 기술이 포함되어 있으며 길이로 인해 침투 할 수 없습니다. 이 기사는 Page Turning의 특정 예제를 통해 다양한 ASP 웹 프로그래밍 방법을 소개하려고합니다. 페이지 프로그래밍; DHTML, DTC 컨트롤, SOM 객체 모델 및 DEOM 객체 모델 사용 방법; 웹 페이지를 컴파일 할 때 더 많은 선택과 참조를 제공 할 수 있기를 바랍니다.