최근 웹사이트 제작에 푹 빠져서 ASP를 이용하여 개발을 하게 되었는데, ASP에는 허점이 많고, 웹사이트에서 재사용되는 코드도 많다는 것을 알게 되어서 몇 가지 정보를 찾아보니 클래스는 ASP에서 사용할 수 있기 때문에 이 클래스를 작성했습니다. 잘 작성되지는 않았지만 꽤 실용적입니다.
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
Const Btn_First="<fontface='webdings'>9</font>" '첫 번째 페이지 버튼 표시 스타일 정의
Const Btn_Prev="<fontface='webdings'>3</font>" '이전 페이지 버튼 표시 스타일 정의
Const Btn_Next="<fontface='webdings'>4</font>" '다음 페이지 버튼 표시 스타일 정의
Const Btn_Last="<fontface='webdings'>:</font>" '마지막 페이지 버튼 표시 스타일 정의
클래스 clsDSJ
비공개 p_Error,p_IpAdd,p_Debug,Errs
비공개 p_InvaildWords
비공개 tmpStr
비공개 objConnDivPage,rsDivPage,p_GetSQL,p_nPage
비공개 p_rsPageSize,p_intCurPage,p_strURL,p_intTotalPage,p_intTotalRecords
프라이빗 p_dbType,p_dbFolder,p_DataBase,dbPath,p_dbUserID,p_dbPassword,p_sqlDataSource
개인 param_DataBase,param_dbUserID,param_dbPassword,param_dbType
'재산
공용 objConn,ConnStr,SQLQueryNum
공개 로그DB,웹URL
공개 저장 로그
공개 오류 코드, 오류 코드, 오류 메시지
공개 스크립트 폴더,스크립트 이름
비공개 하위 클래스_초기화
p_Debug=참
클라이언트 연결됨
SaveLog=참
오류 메시지=""
p_오류=0
SQL쿼리번호=0
Rem 데이터베이스 연결 초기화
dbType=12 '1x——액세스, 2x——SQL x1——OLEDB, x2——ODBC;
dbFolder="데이터"
DataBase="zhubizidatabase.MDB"
DB사용자ID=""
DB비밀번호=""
sql데이터소스=""
p_rsPageSize=10
'p_n페이지=2
request("page")=""인 경우
p_intCurPage=1
ElseIf NOT IsNumeric(request("page")) Then
p_intCurPage=1
ElseIf CInt(Trim(request("page")))<1 Then
p_intCurPage=1
또 다른
p_intCurPage=CInt(Trim(요청("페이지")))
종료 조건
WebURL=" http://blog.csdn.net/alonesword/ "
tmpStr=Request.ServerVariables("PATH_INFO")
tmpStr=분할(tmpStr,"/",-1)
ScriptName=Lcase(tmpStr(UBound(tmpStr)))
ScriptFolder=LCase(tmpStr(UBound(tmpStr)-1)) & "/"
p_InvaildWords=" select|update|delete|insert|@|--|;|'|#|%|xp|cmd|shell "
서브 끝
비공개 하위 클래스_terminate()
IsObject(rsDivPage)이면 rsDivPage.Close:Set rsDivPage=Nothing
IsObject(objConn)이면 objConn.Close:Set objConn=Nothing
End Sub
공용 속성 버전 가져오기
버전="DSJ 1.1.0 베타"
끝 속성
공용 속성 가져오기 오류
오류=p_Error
끝 속성
공용 속성 디버그 가져오기
디버그=p_Debug
끝 속성
공용 속성 Let Debug(BoolDebug)
BoolDebug 그렇다면
p_Debug=참
또 다른
p_Debug=거짓
종료 조건
끝 속성
공용 속성 dbType 가져오기
db유형=p_db유형
끝 속성
공용 속성 Let dbType(lngdbType)
IsNumeric(lngdbType)이면
p_dbType=lngdbType
또 다른
p_db유형=12
종료 조건
끝 속성
공용 속성 dbFolder 가져오기
dbFolder=p_db폴더
끝 속성
공용 속성 Let dbFolder(strFolder)
If Right(strFolder,1)="" OR Right(strFolder,1)="/" 그러면
p_dbFolder=strFolder
또 다른
If (NOT IsNull(strFolder)) OR (strFolder<>"") 그러면
p_dbFolder=strFolder & ""
또 다른
p_dbFoler=""
종료 조건
종료 조건
끝 속성
공공 재산 데이터베이스 가져오기
데이터베이스=p_dataBase
끝 속성
공용 속성 Let 데이터베이스(strDataBase)
p_dataBase=str데이터베이스
끝 속성
공용 속성 dbUserID 가져오기
dbUserID=p_dbUserID
끝 속성
공용 속성 Let dbUserID(strDataBaseUserID)
p_dbUserID=strDataBaseUserID
끝 속성
공용 속성 dbPassword 가져오기
dbPassword=p_dbPassword
끝 속성
공용 속성 Let dbPassword(strDataBasePassword)
p_dbPassword=strDataBasePassword
끝 속성
공용 속성 SQLDataSource 가져오기
SQLDataSource=p_sqlDataSource
끝 속성
공용 속성 Let SQLDataSource(strSQLDataSource)
strsqlDataSource<>""인 경우
Left(p_dbType,1)=2인 경우
p_sqlDataSource=strSQLDataSource
또 다른
추가오류코드(110)
p_sqlDataSource=""
종료 조건
종료 조건
끝 속성
공용 속성 Let PageSize(int_PageSize)
IsNumeric(Int_Pagesize)이면
p_rsPageSize=CLng(int_PageSize)
종료 조건
끝 속성
공용 속성 PageSize 가져오기
p_rsPageSize="" 또는 IsNumeric(p_rsPageSize)이 아닌 경우
페이지 크기=8
또 다른
페이지 크기=p_rsPageSize
종료 조건
끝 속성
공용 속성 Get GetRs()
디버그하지 않으면 오류 발생 시 다음 재개
IsObject(objConn)가 아닌 경우 ConnectionDataBase dbDataBase,dbUserID,dbPassword,dbType
IsObject(rsDivPage)가 아닌 경우
rsDivPage=Server.createobject("adodb.recordset")를 설정합니다.
rsDivPage.Open GetSQL,objConn,1,1
rsDivPage.PageSize=페이지 크기
그렇지 않은 경우(rsDivPage.eof 및 rsDivPage.BOF)
p_intCurPage>rsDivPage.PageCount인 경우
p_intCurPage=rsDivPage.PageCount
종료 조건
rsDivPage.AbsolutePage=p_intCurPage
종료 조건
오류가 발생한 경우
Err.Clear
rsDivPage.Close
rsDivPage=아무것도 설정하지 않음
SaveLog 다음인 경우
tmpMsg="데이터베이스 연결 오류입니다. 쿼리 코드가 올바른지 확인하세요.<br>보안상의 이유로 이 메시지만 표시됩니다. 자세한 오류 메시지를 보려면 dsj.Debug=True를 설정하세요."
응답.SaveSQLLog 쓰기(cmd,tmpMsg)
또 다른
Response.Write "데이터베이스 연결 중 오류가 발생했습니다. 쿼리 코드가 올바른지 확인하세요."
종료 조건
응답.끝()
종료 조건
SQLQueryNum=SQLQueryNum+1
GetRs=rsDivPage 설정
종료 조건
끝 속성
공용 속성 Let GetSQL(str_sql)
str_sql<>""이면
p_GetSQL=str_sql
또 다른
추가오류코드(111)
디버그하면 ShowErrMsg()
p_GetSQL="GetSQL의 속성은 NULL입니다."
종료 조건
끝 속성
공용 속성 GetSQl() 가져오기
GetSQL=p_GetSQL
끝 속성
'********************************
'이름: gotTopic
'매개변수: str, strlen
'반환 값: 제한된 문자열
'작성일 : 2005년 3월 3일
'기능: 제한된 문자열을 제한합니다.
'********************************
공용 함수 GotToPic(str,strlen)
Rem은 문자열의 표시 길이를 특정 범위로 제한합니다.
Dim i,StringLen,CharSize,EchoCharType
StringLen=len(str)
문자 크기=0
i=1에서 StringLen까지
EchoCharType=Abs(Asc(Mid(str,i,1)))
EchoCharType>255이면
CharSize=CharSize+2
또 다른
CharSize=CharSize+1
종료 조건
CharSize>strlen이면
gotTopic=왼쪽(str,i) & "..."
종료 대상
또 다른
gotTopic=str & ""
종료 조건
다음
기능 종료
'********************************
'이름: ChkInvStr
'매개변수: Str
'반환 값: True/False
'작성일 : 2005년 5월 2일
'기능: 매개변수에 잘못된 문자가 있는지 확인하세요.
'********************************
공용 함수 ChkInvStr(Str)
Rem은 필터링해야 하는 잘못된 문자를 정의합니다.
Dim InvaildWord,inWords,i
Str=CStr(Str)
ChkInvStr=거짓
If Len(Replace(p_InvaildWords,Chr(0),""))<1 그러면
AddErrorCode(103) 'invaildwords가 null입니다.
종료 기능
또 다른
Instr(1,p_Invaildwords,"|")>0이면
InvaildWord=분할(p_InvaildWords,"|")
inWords=LCase(트림(Str))
i=LBound(InvaildWord)의 경우 UBound(InvaildWord)로
Instr(inWords,InvaildWord(i))>0이면
p_오류=1982
추가오류코드(105)
ChkInvStr=참
종료 기능
종료 조건
다음
또 다른
AddErrorCode(104) '"|"이 필요합니다.
종료 기능
종료 조건
종료 조건
기능 종료
'********************************
'이름: GetIP
'매개변수: NULL
'반환 값: NULL
'작성일 : 2005년 5월 3일
'기능: 사용자의 IP 주소를 가져옵니다.
'********************************
공개 함수 GetIP()
p_IpAdd=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
IsNull(p_IpAdd) 또는 p_IpAdd=""인 경우
p_IpAdd=Request.ServerVariables("REMOTE_ADDR")
종료 조건
GetIp=p_IpAdd
기능 종료
'********************************
'이름: IP 주소
'매개변수: sip
'반환 값: 카운티, 도시
'기능: 데이터 내용의 조판 및 변환
'작성일 : 2005년 5월 6일
'출처: www.downcodes.com
'********************************
공용 함수 IPAddress(sip)
희미한 IPConnStr, IPConn, IPAddressDB
희미한 str1,str2,str3,str4
딤넘
희미한 국가, 도시, 주소
희미한 IPR,SQL
주소="알 수 없음"
If IsNumeric(Left(sip,2)) Then
sip="127.0.0.1"인 경우 sip="192.168.0.1"
str1=왼쪽(sip,InStr(sip,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=왼쪽(sip,instr(sip,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=왼쪽(sip,instr(sip,".")-1)
str4=중간(sip,instr(sip,".")+1)
isNumeric(str1)=0 또는 isNumeric(str2)=0 또는 isNumeric(str3)=0 또는 isNumeric(str4)=0인 경우
또 다른
숫자=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
IPAddressDB = "DSJ_Ipaddress.mdb"
IPConnStr = "공급자 = Microsoft.Jet.OLEDB.4.0;데이터 소스 = " & Server.MapPath(p_dbFolder & IPAddressDB)
IPConn = Server.CreateObject("ADODB.Connection") 설정
IPConn.IPConnStr 열기
국가="아시아"
도시=""
sql="DSJ_IPAddress에서 상위 1개 국가, 도시를 선택합니다. 여기서 ip1 <="&num&" 및 ip2 >="&num&""
IPRs=IPConn.execute(sql) 설정
그렇지 않은 경우(IPRs.EOF 및 IPRs.bof)
국가=IPR(0)
도시=IPR(1)
종료 조건
IpRs.Close:IPR 설정=아무것도 없음
IPConn.CLose:IPConn = 없음 설정
SqlQueryNum = SqlQueryNum+1
종료 조건
IP주소=국가&도시
종료 조건
기능 종료
'********************************
'이름: ClientConnected
'매개변수: NULL
'반환 값: NULL
'작성일 : 2005년 5월 5일
'기능: 사용자가 서버에 연결되어 있는지 확인
'********************************
공개 하위 클라이언트 연결됨()
Response.IsClientConnected인 경우
응답.플러시()
또 다른
응답.끝()
종료 조건
서브 끝
'********************************
'이름: ChkPost
'매개변수: NULL
'반환 값: True/False
'작성일 : 2005년 5월 5일
'기능: 제출된 데이터의 출처를 확인합니다.
'********************************
공용 함수 ChkPost()
희미한 Server_v1,Server_v2
ChkPost=거짓
Server_v1=CStr(Request.ServerVariables("HTTP_REFERER"))
Server_v2=CStr(Request.ServerVariables("SERVER_NAME"))
Mid(Server_v1,8,Len(Server_v2))=Server_v2인 경우 ChkPost=True
기능 종료
'********************************
'이름: AddErrorCode
'매개변수:ErrCode
'반환 값: ErrCodes
'작성일 : 2005년 5월 3일
'기능: ErrCodes에 오류 코드 추가
'********************************
공개 하위 AddErrorCode(ErrCode)
ErrCodes=""인 경우
ErrCodes=ErrCode
또 다른
ErrCodes=ErrCodes & "," & ErrCode
종료 조건
서브 끝
'********************************
'이름: ShowErrMsg
'매개변수: NULL
'반환 값: NULL
'작성일 : 2005년 5월 3일
'기능: 자세한 오류 정보 표시
'********************************
공용 함수 ShowErrMsg()
p_Debug가 아닌 경우 오류 발생 시 다음 재개
ErrCodes<>""인 경우
iErrCodes=분할(ErrCodes,",",-1,바이너리)
i=LBound(iErrCodes)의 경우 UBound(iErrCodes)로
tmpErrCode=CLng(iErrCodes(i))
IsNumeric(tmpErrCode)이면
ErrMsg=ErrMsg & ErrDetails(tmpErrCode)
종료 조건
다음
종료 조건
ShowErrMsg=ErrMsg
기능 종료
'********************************
'이름: ConnectionDataBase
'매개변수:데이터베이스,p_dbUserID,p_dbPassword,p_dbType
'반환 값: NULL
'기능: 데이터베이스에 연결
'작성일 : 2005년 5월 6일
'********************************
공용 함수 ConnectionDataBase(param_DataBase,param_dbUserID,param_dbPassword,param_dbType)
p_Debug가 아닌 경우 오류 발생 시 다음 재개
클라이언트 연결됨
IsNumeric(param_dbType)이면
objConn=Server.CreateObject("ADODB.Connection") 설정
objConn.ConnectionTimeOut=10 '연결 시간 초과를 10초로 설정
dbPath=Server.MapPath(p_dbFolder¶m_DataBase)
'응답.쓰기 dbPath
케이스 param_dbType 선택
사례 11: '액세스 데이터베이스(OLEDB)
ConnStr="Provider=Microsoft.Jet.Oledb.4.0;데이터 소스="&dbPath&";사용자 ID="¶m_dbUserID&";Password="¶m_dbPassword&""
사례 21: 'SQL 서버(OLEDB)
ConnStr="Provider=SQLOLEDB;초기 카탈로그="¶m_DataBase&";Data Source="&p_sqlDataSource&";User ID="¶m_dbUserID&";Password="¶m_dbPassword&""
사례 12: '액세스 데이터베이스(ODBC)
ConnStr="드라이버={Microsoft Access 드라이버(*.mdb)};DBQ="&dbPath&";사용자 ID="¶m_dbUserID&";Password="¶m_dbPassword
사례 22: 'SQL 서버(ODBC)
ConnStr="드라이버={SQL Server};DataBase="¶m_DataBase&";Server="&p_sqlDataSource&";User ID="¶m_dbUserID&";Password="¶m_dbPassword&""
그 밖의 경우:
추가오류코드(100)
p_Debug이면 Response.Write ShowErrMsg()
'종료 기능
선택 종료
objConn.ConnectionString=ConnStr
objConn.Open
ConnectionDataBase=objConn 설정
오류가 발생한 경우
Err.Clear
SaveLog 다음인 경우
tmpMsg="데이터베이스 연결 중 오류가 발생했습니다. 쿼리 코드가 올바른지 확인하세요.<br>보안상의 이유로 이 정보만 표시됩니다. 자세한 오류 정보를 보려면 dsj.Debug=True를 설정하세요."
cmd="다음 명령을 실행합니다:"¶m_dbtype
응답.SaveSQLLog 쓰기(cmd,tmpMsg)
또 다른
Response.Write "데이터베이스에 연결하는 동안 오류가 발생했습니다. 쿼리 코드가 올바른지 확인하십시오."
종료 조건
추가오류코드(101)
objConn=아무것도 설정하지 않음
응답.끝()
종료 조건
종료 조건
기능 종료
'********************************
'이름: SaveSQLLog
'매개변수:sCommand,Msg
'반환 값: msg
'기능: 로그 저장
'작성일 : 2005년 5월 6일
'********************************
공용 함수 SaveSQLLog(sCommand,Msg)
p_Debug가 아닌 경우 오류 발생 시 다음 재개
logDB="DSJ_SQLLog.mdb"
'ConnectionDataBase logDB,p_dbUserID,p_dbPassword,12
logConnStr = "공급자 = Microsoft.Jet.OLEDB.4.0;데이터 소스 = " & Server.MapPath(p_dbFolder & logDB)
logConn = Server.CreateObject("ADODB.Connection") 설정
logConn.logConnStr 열기
SaveLog 다음인 경우
희미한 로그 명령
logCmd="DSJ_SQL_Log에 삽입(명령,스크립트 이름,logUser,IP) 값"
logCmd=logCmd & "('" & 바꾸기(왼쪽(sCommand,255),"'","''") &"','" & (스크립트 폴더 및 스크립트 이름) &"','" & Session("사용자 ") & "','"& GetIP & "')"
'Response.Write "실행해야 할 명령은 다음과 같습니다:<br><font color=red>" & logCmd & "</font><BR>"
logConn.Execute(logCmd)
종료 조건
logConn.Close
logConn=아무것도 설정하지 않음
SaveSQLLog=msg
SQLQueryNum=SQLQueryNum+1
기능 종료
'********************************
'이름: ExecuteCmd
'매개변수: cmd
'반환 값: RecordSet
'기능: cmd로 생성된 레코드세트를 반환합니다.
'작성일 : 2005년 5월 6일
'********************************
공용 함수 ExecuteCmd(cmd)
IsObject(objConn)가 아닌 경우 ConnectionDataBase p_DataBase,p_dbUserID,p_dbPassword,p_dbType
p_Debug가 아닌 경우 오류 발생 시 다음 재개
클라이언트 연결됨
ExecuteCmd=objConn.Execute(cmd) 설정
오류가 발생한 경우
Err.Clear
objConn.닫기
objConn=아무것도 설정하지 않음
SaveLog 다음인 경우
tmpMsg="데이터 쿼리 중 오류가 발견되었습니다. 쿼리 코드가 올바른지 확인하세요.<br>보안상의 이유로 이 정보만 표시됩니다. 자세한 오류 정보를 보려면 dsj.Debug=True를 설정하세요."
응답.SaveSQLLog 쓰기(cmd,tmpMsg)
또 다른
Response.Write "데이터 조회 중 오류가 발생했습니다. 조회 코드가 맞는지 확인해주세요."
종료 조건
응답.끝()
종료 조건
SQLQueryNum=SQLQueryNum+1
기능 종료
'********************************
'이름: HTMLEncode
'매개변수:fString
'반환 값: HTMLEncode
'기능: 데이터 내용의 조판 및 변환
'작성일 : 2005년 5월 6일
'********************************
공개 함수 HTMLEncode(fString)
IsNull(fString) 또는 fString<>""이 아닌 경우
fString=바꾸기(fString,"<","<")
fString=바꾸기(fString,">",">")
fString=Replace(fString,Chr(9)," ") '기울임꼴 글꼴
fString=바꾸기(fString,Chr(13),"")
fString=Replace(fString,Chr(32)," ") '공백 변환
fString=Replace(fString,Chr(34),""") '큰따옴표 변환
fString=Replace(fString,Chr(39),"'") '작은따옴표 변환
fString=Replace(fString,Chr(10),"</p><p>") '문단 형식으로 변환
fString=Replace(fString,Chr(10),"<BR> ") '다음 줄로 변환
fString=바꾸기(fString,Chr(13),"<BR>")
fString=바꾸기(fSting,vbCrlf,"<BR>")
'fString=링크친구(fString)
'fString=ChkBadWords(fString)
HTMLEncode=fString
종료 조건
기능 종료
'********************************
'이름 : 링크프렌드
'매개변수:fContent
'반환값: 링크프렌드
'기능: 우호적 연결 교체
'작성일 : 2005년 5월 6일
'********************************
공개 함수 LinkFriend(fContent)
p_Debug가 아닌 경우 오류 발생 시 다음 재개
IsObject(objConn)가 아닌 경우 ConnectionDataBase DataBase,dbUserID,dbPassword,dbType
rsFriend=ExecuteCmd("dsj_FriendLink에서 제목, URL 선택")을 설정합니다.
rsFriend.Eof 및 rsFriend.Bof인 경우
또 다른
rsFriend.Eof가 아닌 동안 수행
strTitle=rsFriend.Fields.Item("제목")
URl=rsFriend.Fields.Item("URL")
If Lcase(Left(URL,1))<>"h" 그러면 URL=Replace(URl,Left(URL,1),"")
strLink="<a target='_blank' title='" & strTitle &"' href='" & URL & "'>"
strLink=strLink&strTitle&"</a>"
Instr(fContent,strTitle)>0이면 fContent=Replace(fContent,strTitle,strLink)
RSFriend.MoveNext
고리
LinkFriend=fContent
종료 조건
RSFriend.닫기
rsFriend=아무것도 설정하지 않음
SQLQueryNum=SQLQueryNum+1
기능 종료
'************************************************ * *****************
'이름: 쇼페이지
'매개변수: NULL
'반환 값: NULL
'기능: 페이징 기록 탐색 표시
'설명:
'원작: zykj2000 웹사이트: http://bbs.513soft.net
' 수정 : Alonesword 홈페이지 : http://blog.csdn.net/alonesword/
'시간: 2005년 5월 7일
'************************************************ * ****************
공개 서브 쇼페이지()
희미한 str_tmp
p_intTotalRecords=rsDivPage.RecordCount
p_intTotalRecords<=0이면
p_Error=p_Error & "총 레코드 수가 0입니다. 데이터를 입력하십시오"
ShowError() 호출
종료 조건
p_intTotalRecords <=PageSize THEn인 경우
p_intTotalPage=1
또 다른
p_intTotalRecords mod PageSize =0인 경우 그러면
p_intTotalPage = CLng(p_intTotalRecords / PageSize * -1)*-1
또 다른
p_intTotalPage = CLng(p_intTotalRecords / PageSize * -1)*-1+1
종료 조건
종료 조건
p_intCurPage>p_intTotalPage이면
p_intCurPage=p_intTotalPage
종료 조건
응답.Write ShowFirstPrv
showNumBtn
응답.Write ShowNextLast&" "
응답.ShowPageInfo 쓰기
response.write str_tmp
End Sub
개인 함수 ShowFirstPrv()
희미한 Str_tmp,int_prvpage
int_prvpage=p_intCurPage-1
int_prvpage<1인 경우 int_prvpage=1
Btn_FirstLink="<a title='페이지 1' href='"&AddnPageURL&"1'>"&Btn_First
Btn_PrevLink="<a title='Page"&int_prvpage&" href='"&AddnPageURL&p_intCurPage-1&"'>"&Btn_Prev
p_intCurPage=1이면
str_tmp=Btn_FirstLink&"</a> "&Btn_PrevLink&"</a> "
또 다른
int_prvpage=p_intCurPage-1
str_tmp=""&Btn_FirstLink&"</a> "& Btn_PrevLink&"</a> "
종료 조건
ShowFirstPrv=str_tmp
종료 함수
개인 함수 ShowNextLast()
희미한 str_tmp,int_Nextpage
int_NextPage=p_intCurPage+1
p_intCurPage+1>p_intTotalPage인 경우 int_NextPage=p_intTotalPage
Btn_NextLink="<a title='Page"&int_NextPage&"' href='"&AddnPageURL&p_intCurPage+1&"'>"&Btn_Next
Btn_LastLink="<a title='Page"&p_intTotalPage&" href='"&AddnPageURL&p_intTotalPage&"'>"&Btn_Last
p_intCurPage>=p_intTotalPage인 경우
str_tmp=Btn_NextLink & "</a> " & Btn_LastLink&"</a>"
또 다른
Int_NextPage=p_intCurPage+1
str_tmp=""&Btn_NextLink&"</a> "& Btn_LastLink&"</a>"
종료 조건
ShowNextLast=str_tmp
종료 함수
개인 함수 showNumBtn()
난 어두워,str_tmp
희미한 페이지Link
str_tmp=""
i=1에서 p_intTotalPage까지 1단계
PageLink=" <a title='Page"&i&" href='"&AddnPageURL&i&"'>"&i&"</a> "
i=p_intCurPage이면 PageLink=" <a title='Page"&i&" href='"&AddnPageURL&i&"'><font color=red>"&i&"</font></a> "
응답.페이지링크 쓰기
다음
showNumBtn=str_tmp
종료 함수
개인 함수 ShowPageInfo()
희미한 str_tmp
str_tmp="페이지:"&p_intCurPage&"/"&p_intTotalPage&"페이지 총계"&p_intTotalRecords&"records"&p_rsPageSize&"records/페이지당"
ShowPageInfo=str_tmp
종료 함수
개인 함수 AddnPageURL()
Dim i,j,search_str,result_url
search_str="페이지="
str_params=Request.ServerVariables("QUERY_STRING")
str_params=""인 경우
result_url=스크립트 이름 & "?page="
또 다른
InstrRev(str_params,search_str)=0인 경우
result_url=스크립트 이름 & "? & str_params &"&page="
또 다른
j=InstrRev(str_params,search_str)-2
j=-1이면
result_url=스크립트 이름 & "?page="
또 다른
str_params=왼쪽(str_params,j)
result_url=스크립트 이름 & "? & str_params &"&page="
종료 조건
종료 조건
종료 조건
AddnPageURL=result_url
기능 종료
'************************************************ * ****************
공용 함수 GetName(옵션)
희미한 tmp이름
tmpName=Request.ServerVariables("PATH_INFO")
arrTmpName=분할(tmpName,"/")
옵션=0인 경우 GetName=Server.Mappath(".")&GetName(1)
Options=1이면 GetName=LCase(arrTmpName(UBound(arrTmpName)))
옵션=2이면 GetName=LCase(arrTmpName(UBound(arrTmpName)-1))&"/"
기능 종료
수업 종료
%>