중급 입문 및 Asp 구성 요소 익히기 시리즈 중 하나인
7개의 기본 튜토리얼을 작성했습니다
. 확실히 작성해야 할 몇 가지 기본 사항이중급 튜토리얼의 내용을
천천히 보완할 것입니다
.가장 우려되는 사항: 데이터베이스 운영 및 패키징. Asp 내장 개체 사용. 이 부분에 대해서는 오랫동안 설명하겠습니다. 이 부분에서는 ADO를 사용하여 데이터베이스를 작동하는 데 좀 더 능숙해지고 ASP의 5가지 주요 개체에 익숙해져야 합니다.
온라인에 떠도는 정보 중 일부를 살펴보겠습니다.
우리 모두 알고 있듯이 ASP에는 응답, 요청, 서버, 세션 및 응용 프로그램이라는 다섯 가지 기본 제공 개체가 있습니다. 실제로 이 다섯 가지 기본 제공 개체는 IIS 콘솔에서 초기화할 수 있는 다섯 가지 ActiveX DLL 구성 요소입니다. ASP에서 사용할 다섯 가지 구성 요소 물론 프로그래밍을 구현하기 위해 ActiveX DLL에서 이러한 구성 요소를 직접 참조할 수도 있습니다. 즉, VB 응용 프로그램에서 이러한 구성 요소를 참조하여 ASP 내장 개체에 액세스하는 기능을 얻을 수 있습니다.
PWS4 또는 IIS4 이상을 사용하여 웹 서버를 설치하는 한 "Microsoft Active Server Pages 개체"라는 개체 라이브러리를 갖게 됩니다. 이 개체 라이브러리를 참조하면 VB의 ActiveX DLL 응용 프로그램에서 이 개체 라이브러리를 참조할 수 있습니다. 객체(클래스)를 얻었습니다: ScriptingContext는 전체 기사의 핵심 객체이기도 합니다. 개체 라이브러리 내의 관계는 다음과 같습니다.
개체 라이브러리 클래스 클래스 멤버
ASPTypeLibrary ScriptingContext 응용 프로그램
요청
응답
세션
서버
위의 관계 다이어그램을 통해 ScriptingContent 클래스를 쉽게 이해할 수 있습니다.
구체적인 예를 살펴보겠습니다.
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름을 fCom으로 변경하고 클래스 이름을 fZ1로 변경합니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
mySession을 세션으로 흐리게 설정
'이 이벤트는 구성요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
myResponse.Write "ActiveX DLL 구성 요소가 생성되었습니다!"
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
myResponse.Write "ActiveX DLL 구성 요소가 삭제되었습니다!"
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음으로 설정
End Sub
'자체 구성 요소 메서드 정의
공개 서브 HelloWorld()
myResponse.Write "이것은 ASP 내장 개체를 사용하여 작성되었습니다."
서브 끝
Visual interdev6.0 열기를 테스트하고 asp 파일을 생성합니다.
프로그램 코드
<%@ 언어=VBScript %>
<HTML>
<본문>
<%
set obj=server.CreateObject("fCom.fZ1")
obj.HelloWorld()를 호출합니다.
%>
</BODY>
</HTML>
가상 디렉터리를 구성하고 IE에서 이 asp 파일을 실행하면 다음과 같습니다.
ActiveX DLL 구성 요소가 생성되었습니다! ASP 내장 개체로 작성된 이 ActiveX DLL 구성 요소는 파괴되었습니다.
Asp 구성 요소 중급 입문 및 마스터리 시리즈 2부
먼저 Application 개체를 살펴보겠습니다. 이전에는 Application 개체가 카운터로 자주 사용되었습니다. 연결 문자열의 경우 카운터를 예로 들어 보겠습니다.
먼저 global.asa 파일을 살펴보겠습니다. 이는 비교적 간단합니다.
프로그램 코드
<스크립트 언어 =vbscript runat=서버>
subApplication_onstart
애플리케이션("카운터")=0
서브 끝
</script>
그런 다음
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름이 fCom으로 변경되고 클래스 이름이 fZ2로 변경됩니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
mySession을 세션으로 흐리게 설정
'이 이벤트는 구성요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
서브 끝
'이 이벤트는 구성요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음으로 설정
서브 끝
'asp에서 작성한 것을 vb로 옮겨보니 작성방법이 동일하다는 것을 알 수 있습니다.
공개 하위 ShowCounter()
오랫동안 희미한 인터카운터
myApplication.Lock
intcounter = myApplication("카운터")
인트카운터 = 인트카운터 + 1
myApplication("counter") = intcounter
myApplication.잠금 해제
myResponse.Write CStr(intcounter)
서브 끝
테스트
하고 asp 파일을 생성합니다.
프로그램 코드
<%@ 언어=VBScript %>
<HTML>
<본문>
<%
희미한 물체
set obj=server.CreateObject("fCom.fZ2")
obj.ShowCounter()
%>
</BODY>
</HTML>
가상 디렉터리를 구성한 후 루트 디렉터리에 global.asa 파일을 넣고 IE에서 이 asp 파일을 실행한 다음 페이지를 새로 고치면 변경된 숫자가 표시됩니다.
이것이 바로 Application의 사용법입니다.
Asp 구성 요소의 중간 입문 레벨과 마스터리 시리즈 3인
Session에 비해 훨씬 간단합니다
. vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름을 fCom으로 변경하고 클래스 이름을 fZ3으로 변경합니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
mySession을 세션으로 흐리게 설정
'이 이벤트는 구성요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음 설정
서브 끝
'asp에서 작성한 것을 vb로 옮겨보니 작성방법이 동일하다는 것을 알 수 있습니다.
'모든 세션 변수 및 값을 가져옵니다.
공개 하위 쇼세션()
'시간 초과를 20분으로 설정할 수 있습니다.
mySession.Timeout = 20
희미한 내 항목
'모든 세션 가져오기
mySession.Contents의 각 myitem에 대해
myResponse.Write myitem & ": " & mySession.Contents(myitem)
myResponse.Write "<br>"
다음
서브 끝
테스트하고
, asp 파일을 생성하여 가상 디렉터리를 구성하고, IE에서 이 asp 파일을 실행하면
이름이 tornado인 것을
볼 수 있습니다.
나이: 26
특기:
Session 컴포넌트의 사용법은 여기까지입니다. Session의 다른 용도도 비슷합니다.
Asp 구성요소 중급 진입 및 숙달 시리즈 4,
요청하는 방법을 배웁니다.
구성 요소의 페이지에서 제출된 콘텐츠를 가져오는 방법을 보려면
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름이 fCom으로 변경되고 클래스 이름이 fZ4로 변경됩니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
mySession을 세션으로 흐리게 설정
'이 이벤트는 구성요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음 설정
myApplication = 없음으로 설정
mySession = 없음 설정
End Sub
'asp에서 작성한 것을 vb로 옮겨보니 작성방법이 동일함을 알 수 있습니다.
공개 서브 ShowRequest()
희미한 내 항목
'포스트 웨이
myRequest.Form의 각 myitem에 대해
myResponse.Write myitem & ": " & myRequest.Form(myitem)
myResponse.Write "<br>"
다음
'메서드 가져오기
myRequest.QueryString의 각 myitem에 대해
myResponse.Write myitem & ": " & myRequest.QueryString(myitem)
myResponse.Write "<br>"
다음
'단일 메시지
myResponse.Write "메시지 중 하나는 " & "입니다: " & myRequest("username")
myResponse.Write "<br>"
서브 끝
테스트
하고 fz41.asp 파일
프로그램 코드를
생성합니다.
<%@ 언어=VBScript %>
<HTML>
<본문>
<form action="fz4_result.asp" 메서드="포스트">
<INPUT id=텍스트1 이름=사용자 이름>
<INPUT id=text2 이름=나이>
<INPUT ID=제출1 유형=제출 값=제출 이름=제출>
</form>
</BODY>
</HTML>
프로그램 코드를
생성해야 합니다.
<%@ 언어=VBScript %>
<HTML>
<본문>
<%
희미한 물체
set obj=server.CreateObject("fCom.fZ4")
obj.ShowRequest를 호출하세요.
%>
</BODY>
</HTML>
추가적으로 제출방법도 살펴봐야 하므로 fz42.asp 파일
프로그램 코드가
필요합니다.
<%@ 언어=VBScript %>
<HTML>
<본문>
<form action="fz4_result.asp?username='"& 사용자 이름 &"'& age='"& 연령 &"'" method="get" id=form1 name=form1>
<INPUT id=텍스트1 이름=사용자 이름>
<INPUT id=text2 이름=나이>
<INPUT ID=제출1 유형=제출 값=제출 이름=제출>
</form>
</BODY>
</HTML>
가상 디렉터리를 구성하고 IE에서 fc41.asp 파일을 실행합니다. 내용을 입력한 후 버튼을 클릭하면
사용자 이름이 Tornado로 표시됩니다.
나이: 26
제출: 제출
메시지 중 하나는 다음과 같습니다.
IE에서 fc42.asp 파일을 실행해 보겠습니다. 내용을 입력한 후 버튼을 클릭하면
사용자 이름이 Tornado로 표시됩니다.
나이: 26
제출: 제출
메시지 중 하나는 다음과 같습니다. Tornado
및 주소 표시줄은 다음과 같습니다.
http://yang/xml/fz4_result.asp?username=%C1%FA%BE%ED%B7%E7&age=26&%CC%E1%BD%BB=Submit
계속
Asp 구성 요소 중급 입문 및 숙달 시리즈 5부
Response 객체를 살펴보겠습니다. 실제로 이전 자습서에서는 이 개체의 Write 메서드를 사용해 왔습니다.
여기서는 Response 객체를 사용하여 쿠키를 설정합니다.
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름을 fCom으로 변경하고 클래스 이름을 fZ5로 변경합니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
Dim mySession As Session
'이 이벤트는 구성 요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음으로 설정
End Sub
'페이지에서 쿠키를 설정하고 구성 요소에서 가져옵니다.
공개 서브 GetCookie()
희미한 내 항목
'모든 정보
myRequest.Cookies의 각 myitem에 대해
myResponse.Write myitem & ": " & myRequest.Cookies.Item(myitem)
myResponse.Write "<br>"
다음
'단일 메시지
myResponse.Write "사용자 이름은 " & ": " & myRequest.Cookies("username")
myResponse.Write "<br>"
myResponse.Write "사용자의 연령은" & ": " & myRequest.Cookies("age")
myResponse.Write "<br>"
End Sub
'구성 요소에 쿠키를 설정하고 페이지로 가져옵니다.
공개 하위 세트쿠키()
myResponse.Cookies("com_username") = "토네이도"
myResponse.Cookies("com_age") = 26
myResponse.Expires = #9/13/2004#
서브 끝
Dll 파일로 컴파일하면 시스템이 자동으로 등록합니다.
그렇지 않으면 Regsvr32를 수동으로 등록하여 f:testfcom.dll을
테스트
하고, fz5.asp 파일을 생성
하고 가상 디렉터리를 구성하고, IE에서 fc5.asp 파일을 실행하면
토네이도를
볼 수 있습니다.
26
나이: 26
사용자 이름: 토네이도
com_age: 26
com_username: Tornado 사용자 이름: Tornado 사용자 연령: 26
계속 중급
소개 및 Asp 구성요소 시리즈 No. 6
Asp의 내장 개체로서 Server 개체에 대해 알아봅니다
. 개체는 더 많은 HTML 코딩과 웹 페이지 리디렉션 및 전송을 사용합니다.
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름이 fCom으로 변경되고 클래스 이름이 fZ6으로 변경됩니다.
"Microsoft Active Server Pages 개체" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'객체 선언
myResponse를 응답으로 흐리게 표시
myRequest를 요청으로 흐리게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
Dim mySession As Session
'이 이벤트는 구성 요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
myResponse = myScriptingContent.Response 설정
myRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
myResponse = 없음으로 설정
myRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음으로 설정
End Sub
Public Sub ShowHtml(ByVal strHtml As String)
myResponse.Write myServer.HTMLEncode(strHtml)
End Sub
Public Sub ShowUrl(ByVal strUrl As String)
myResponse.Write myServer.URLEncode(strUrl)
End Sub
Public Sub ExecuteUrl()
myServer.Transfer "fz5.asp"
서브 끝
Dll 파일로 컴파일하면 시스템이 자동으로 등록합니다.
그렇지 않으면 Regsvr32 f:testfcom.dll을 수동으로 등록하여
Visual interdev6.0 열기를
테스트
하고 fz6.asp 파일을 생성한
다음 IE에서 fc6.asp 파일을 실행하여 확인하세요
.
C1 %FA%BE%ED%B7%E7&age=26
IE를 사용하여 소스 파일을 보고 HTML 인코딩을 볼 수 있습니다.
이것은 ASP의 내장 개체에 대한 임시 소개이며 나중에 계속 연구할 것입니다.
하나의 예시에서 추론을 이끌어내고, 아직 소개되지 않은 속성과 메소드를 학습할 수도 있습니다.
Asp 구성 요소 중급 항목 및 마스터리 시리즈 7이
데이터베이스 작업을 시작합니다.
공통 구성요소 포장
1. 데이터베이스 연결 정보를 캡슐화합니다.
1> 구성 요소의프로그램 코드
와 같은 데이터베이스 연결 문자열을 직접 반환합니다.
공개 함수 datasource()를 Variant로 사용
데이터 소스 = "드라이버={sql 서버};서버=양;uid=sa;pwd=; 데이터베이스=northwind"
기능 종료
ASP 호출
프로그램 코드
set obj=server.CreateObject("webdb.getinfo")
oconn=obj.datasource()
명백합니다. asp 파일에서 response.write oconn은 예상한 효과가 없는 데이터베이스 연결 문자열을 표시할 수 있습니다.
2> adodb.connection 객체
프로그램 코드를
반환합니다.
공용 함수 GetConn() As ADODB.Connection
conn = 새 ADODB.Connection 설정
conn.ConnectionString = "공급자=SQLOLEDB.1;보안 정보 유지=False;사용자 ID=sa;password=;초기 카탈로그=Northwind;데이터 원본=양"
연결.열기
GetConn = conn으로 설정
기능 종료
ASP 호출
프로그램 코드
희미한 데이터 쿼리
DataQuery=Server.CreateObject("WebDbtest.GetInfomation") 설정
rs=server.createobject("adodb.recordset")를 설정합니다.
sql="직원 중에서 * 선택"
Rs.open SQL,DataQuery.getconn,1,3
response.Write Rs("성")
Response.write DataQuery.getconn.ConnectionString
set Rs=nothing
괜찮아 보이지만 Response.write DataQuery.getconn.ConnectionString은 여전히 데이터베이스 연결 문자열을 표시합니다. 테스트할 수 있습니다.
2. 구성 요소를 레코드 세트로 캡슐화하려면 제가 얼마 전에 쓴 내용을 읽어보세요 . http://blog.csdn.net/online/archive/2003/12/11/7764.aspx
이 코드의 나쁜 점은 데이터베이스 연결이 페이지에서 판단된다는 것입니다. 연결이 성공한 후에는 데이터에 액세스합니다. 개인적으로 가장 좋은 방법은
이를 레코드 세트로 캡슐화하여 데이터베이스에 연결하는 것
입니다.작업이 완료된 후
시간 내에 닫고 모든 것을 캡슐화하기 위해 구성 요소에서 HTML 코드를 생성해 봅니다.
부분 캡슐화대신 다음 방법을 사용합니다
.
Asp 구성 요소 중급 진입 및 마스터리 시리즈 No.8은
이 기간 동안 매우 바빴습니다. 하하, 오늘은 완전한 데이터 캡슐화 및 페이징 예제를 살펴보고
vb6을 열고 새 Activex Dll 프로젝트를 만듭니다. 프로젝트 이름이 fCom으로 변경되고 클래스 이름이 fZ8로 변경됩니다.
"Microsoft Active Server Pages 개체", "Microsoft Activex 데이터 개체 2.7 라이브러리" 개체 라이브러리에 대한 참조입니다.
두 개의 구성 요소 이벤트 만들기: OnStartPage 및 OnEndPage
OnStartPage 이벤트에서 ScriptingContent 클래스에 대한 참조를 만듭니다.
ScriptingContent 클래스를 인스턴스화합니다.
코드는 다음과 같습니다:
프로그램 코드
옵션 명시적
'************************************************ *
작가 : 토네이도
'기능: 간단하게 사용자 정의할 수 있고 완전히 캡슐화된 구성 요소
'시간:2005-01-01
'************************************************ *
'객체 선언
MyResponse를 응답으로 희미하게 표시
MyRequest를 요청으로 희미하게 표시
myApplication을 애플리케이션으로 흐리게 표시
myServer를 서버로 흐리게 설정
Dim mySession As Session
'개인 변수
비공개 mPageSize를 길게
문자열로 개인 mstrSql
'이 이벤트는 구성요소가 생성될 때 트리거됩니다.
공개 하위 OnStartPage(myScriptingContent를 ScriptingContext로)
'객체 인스턴스화 실행
MyResponse = myScriptingContent.Response 설정
MyRequest = myScriptingContent.Request 설정
myServer = myScriptingContent.Server 설정
myApplication = myScriptingContent.Application 설정
mySession = myScriptingContent.Session 설정
End Sub
'이 이벤트는 구성 요소가 파괴될 때 트리거됩니다.
공개 서브 OnEndPage()
'객체를 파괴한다
MyResponse = 없음으로 설정
MyRequest = 없음으로 설정
myServer = 없음으로 설정
myApplication = 없음으로 설정
mySession = 없음으로 설정
End Sub
'테이블 표시
공용 함수 ShowTable()
새로운 ADODB.Connection으로 Dim conn
새로운 ADODB.Recordset으로 Dim rs
Dim i를 정수로 표시
Dim j를 정수로
Dim intPage를 정수로 사용
Dim intPageCount를 정수로 사용
희미한 strScriptName을 문자열로
Dim intPos를 정수로 사용
Dim intFieldCount를 정수로 사용
'길을 찾아라
strScriptName = MyRequest.ServerVariables("스크립트_이름")
intPos = InStrRev(strScriptName, "/")
intPos <> 0이면
strScriptName = Mid(strScriptName, intPos + 1)
종료 조건
If IsEmpty(MyRequest("page")) 그러면
int페이지 = 1
또 다른
intPage = CInt(MyRequest("페이지"))
종료 조건
오류 발생 시 GoTo 오류
conn.Open "공급자=SQLOLEDB.1;보안 정보 유지=False;사용자 ID=sa;초기 카탈로그=Northwind;데이터 원본=localhost"
rs.Open mstrSql, conn, adOpenStatic, adLockReadOnly
'레코드 수를 가져옵니다
intFieldCount = rs.Fields.Count
'출력 테이블
MyResponse.Write "<테이블 테두리=1 셀 간격=0 셀 패딩=2>"
rs.EOF가 아닌 경우
rs.PageSize = mPageSize
rs.AbsolutePage = intPage
'페이지 번호 가져오기
intPageCount = rs.PageCount
'페이징 처리
intPage < 1이면 intPage = 1
intPage > intPageCount이면 intPage = intPageCount
'출력 헤더
MyResponse.Write "<tr>"
i = 0의 경우 intFieldCount - 1로
MyResponse.Write "<th>" & rs(i).이름 & "</th>"
다음
MyResponse.Write "</tr>"
'출력 내용
i = 1의 경우 mPageSize로
rs.EOF이면
종료 대상
종료 조건
MyResponse.Write "<tr>"
j = 0인 경우 intFieldCount - 1로
MyResponse.Write "<td>" & rs.Fields(j).Value & "</td>"
다음
MyResponse.Write "</tr>"
rs.이동다음
다음
'출력 페이징
MyResponse.Write "<tr>"
intPage <> 1이면
MyResponse.Write "<a href=" & strScriptName & "?page=1>[첫 번째 페이지]</a>"
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPage - 1 & " >[이전 페이지]</a>"
종료 조건
만약 intPage <> intPageCount 그렇다면
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPage + 1 & ">[다음 페이지]</a>"
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPageCount & ">[마지막 페이지]</a>"
종료 조건
MyResponse.Write "페이지:<FONT COLOR='Red'>" & intPage & "/ " & intPageCount & "</FONT>"
MyResponse.Write "</tr>"
종료 조건
MyResponse.Write "</table>"
'리소스 해제
RS가 아니면 아무것도 아니다
rs.State = 1이면
RS.닫기
종료 조건
설정자=아무것도 없음
종료 조건
만약 그렇지 않다면 아무것도 아니다
conn.State = 1인 경우
연결.닫기
종료 조건
conn = 없음 설정
종료 조건
종료 기능
오류:
MyResponse.Write 오류.번호 및 오류 설명
RS가 아니면 아무것도 아니다
rs.State = 1이면
RS.닫기
종료 조건
설정자=아무것도 없음
종료 조건
만약 그렇지 않다면 아무것도 아니다
conn.State = 1인 경우
연결.닫기
종료 조건
conn = 없음 설정
종료 조건
기능 종료
'속성을 정의
공용 속성 ShowPageSize()를 변형으로 가져오기
ShowPageSize = mPageSize
끝 속성
공용 속성 Let ShowPageSize(ByVal vNewValue As Variant)
mPageSize = vNewValue
끝 속성
공용 속성 strSQL()을 Variant로 가져오기
strSQL = mstrSql
끝 속성
공용 속성 Let strSQL(ByVal vNewValue As Variant)
mstrSql = vNewValue
끝 속성
Dll 파일로 컴파일하면 시스템이 자동으로 등록합니다.
그렇지 않으면 Regsvr32 f:testfcom.dll을 수동으로 등록하여
테스트
하고 fz8.asp 파일을 생성합니다.
프로그램 코드
<%@ 언어=VBScript %>
<HTML>
<본문>
<%
희미한 물체
set obj=server.CreateObject("fcom.fz8")
'각 페이지에 표시되는 레코드 수
obj.ShowPageSize=10
'표시된 SQL 문
obj.strSQL="고객 ID, 회사 이름, 연락처 이름, 연락처 제목, 고객 주소 선택"
obj.ShowTable()
%>
</BODY>
</HTML>