asp数据操作类DB
conn.asp
<% dim conn,ps set Conn=Server.CreateObject("ADODB.Connection") PS="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=tradesina;User ID=***;Password=***;" 'PS="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath(data) conn.open PS %>
db-publuc.js
function gotopage(pagenum) { var surl,ssearch,turl,last,page; surl = self.location.href; ssearch = self.location.search.substring(1); if (ssearch.indexOf("page") != -1) { last = surl.lastIndexOf("="); turl = surl.substring(0,last+1) + pagenum; } else if (surl.indexOf("?") != -1) { turl = surl + "&page=" + pagenum; } else { turl = surl + "?page=" + pagenum; } self.location = turl; } function select_all(isCked) { var ck=document.getElementsByName("option") //.getElementsByTagName("input");//意思是找到页面上所有 <input > 节点 for(var i=0 ;i<ck.length;i++) { if(ck[i].type=="checkbox") if(ck[i]!=isCked) { ck[i].checked=!ck[i].checked; } } } function del_selected(del_page) { var s = false; //用来记录是否存在被选中的复选框 var Newsid, n=0; var strid, strurl; var nn = document.getElementsByName("option"); //返回复选框Cate的数量 for (j=0; j<nn.length; j++) { if (nn[j].checked) { n = n + 1; s = true; logid = nn[j].value; //转换为字符串 //生成要删除新闻编号的列表 if(n==1) { strid = logid; } else { strid = strid + "," + logid; } } } if(!s) { alert("请选择要删除的记录项目!"); return false; } if (confirm("确定要删除删除的项目吗?")) { window.open(del_page+"&id="+ strid,"","alwaysRaised=yes,resizable=auto,minimizebutton=yes,width=200,height=120"); } } //============================================================= // 函 数 名:confirmdel // 功能描述:弹出对话框确定是否要删除文件 // 输入参数:delfile,删除时跳转的页名 // 返 回 值:无 // 创建日期:2005-9-16 // 修改日期:2005-9-16 // 作 者:李瑞斌 // 附加说明: //============================================================== function confirmdel(delfile){ if (confirm("真的要删除这条记录?")) open(delfile,"","alwaysRaised=yes,resizable=auto,minimizebutton=yes,width=200,height=120"); } function log_isok(theform) { if (theform.username.value=="") { alert("Please input your E-mail address."); theform.username.focus(); return (false); } if (theform.pass1.value=="") { alert("Please input your password."); theform.pass1.focus(); return (false); } if (theform.pass1.value!="") { theform.pass.value=MD5(theform.pass1.value); } return (true); }
db.asp
<% 'Option Explicit Response.CodePage=65001%> <% Response.Charset="UTF-8" %> <script type="text/javascript" language="javascript" src="images/db-publuc.js"></script> <!--#include file="Global_variables.asp" --> <!--#include file="conn.asp" --> <% 'on error resume next Class DB dim CurrentPage,zpage,rscount dim rs dim MaxPerPage dim odic,DbSql dim delImage '============================================================= ' 函 数 名:Close ' 功能描述:关闭Conn链接 ' 输入参数:无 ' 返 回 值:无 ' 创建日期:2011-9-29 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public sub Close() rsClose() if TypeName(conn)<>"Nothing" then '判断conn是否注销 if conn.State=1 then '判断conn是否关闭 conn.Close end if set conn=nothing end if end sub '============================================================= ' 函 数 名:rsClose ' 功能描述:关闭rs链接 ' 输入参数:无 ' 返 回 值:无 ' 创建日期:2011-9-29 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public sub rsClose() if TypeName(rs)<>"Nothing" then '判断rs是否注销 if rs.State=1 then '判断RS是否关闭 rs.close end if set rs=nothing end if end sub '============================================================= ' 函 数 名:ExecNonSql ' 功能描述:执行无返回值的数据库操作 ' 输入参数:sqlstr,查询的SQL字符串 ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public property get ExecNonSql(ByVal sqlstr) conn.execute sqlstr End property '============================================================= ' 函 数 名:Exec ' 功能描述:执行返回数据库记录集 ' 输入参数:sqlstr,查询的SQL字符串 ' 返 回 值:当recordset对象rs 有记录时返回 true 否则返回 Fslse ' 创建日期:2005-9-16 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明:无法使用分页 '============================================================== Public property get Exec(ByVal sqlstr) set rs=conn.execute(sqlstr) if rs.eof then Exec=False else Exec=true end if End property '============================================================= ' 函 数 名:ExecSql ' 功能描述:执行查询操作,rs只读 ' 输入参数:sqlstr,查询的SQL字符串 ' 返 回 值:当recordset对象rs 有记录时返回 true 否则返回 Fslse ' 创建日期:2005-9-16 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明:主要用于翻页 '============================================================== Public property get ExecSql(ByVal sqlstr) set rs=server.CreateObject("adodb.recordset") rs.open sqlstr,conn,1,1 if rs.eof then ExecSql=False else ExecSql=true end if End property '============================================================= ' 函 数 名:ExecSqlWrite ' 功能描述:执行查询操作,rs可写 ' 输入参数:sqlstr,查询的SQL字符串 ' 返 回 值:当recordset对象rs 有记录时返回 true 否则返回 Fslse ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public property get ExecSqlWrite(ByVal sqlstr) set rs=server.CreateObject("adodb.recordset") 'response.write sqlstr rs.open sqlstr,conn,1,3 if rs.eof then ExecSqlWrite=False else ExecSqlWrite=true end if End property '============================================================= ' 函 数 名:AddEditRS ' 功能描述:向指定表中添加、修改记录。如rs_id不为空则修改记录 ' 输入参数:tabname,表名;rs_id 记录ID ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2011-9-29 ' 作 者: ' 附加说明: '============================================================== Public function AddEditRS(ByVal tabname,ByVal rs_id) set odic=server.CreateObject("Scripting.Dictionary") for each okey in request.Form odic.add okey,trim(request.Form.item(okey)) next 'odic.Remove "Submit" if rs_id="" then DbSql="select top 1 * from ["&tabname&"]" else DbSql="select top 1 * from ["&tabname&"] where id="&rs_id end if ExecSqlwrite(DbSql) with rs if rs_id="" then .AddNew for each Okey in odic okey1=LCase(okey) if instr(okey1,"form")=0 then 'response.write (okey)&"---"&odic.item(okey)&"</br>" .Fields(Okey)=odic.item(okey) end if next .update end with call rsClose() end function '============================================================= ' 函 数 名:delRecord ' 功能描述:删除指定表的记录.如果全局变量delImage为True,则删除该记录的相应图片 ' 输入参数:tabname,表名;id 记录id ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public function delRecord(ByVal tabname,ByVal id) dim sql sql="select * from ["&tabname&"] where id=" if id="" then response.Write "请选择所要删除的项目" response.End() end if z=split(id,",") c=0 sql=sql&z(c) for c=1 to ubound(z) sql=sql&" or id="&z(c) next ExecSqlWrite(sql) if delImage=true then spe_id=rs("spe_id") do while not rs.eof rs.delete rs.update rs.movenext loop if delImage=true then delRsImg id,spe_id end if end function '============================================================= ' 函 数 名:delRsImg ' 功能描述:删除Image_up(图片表)中有相关表中的指定图片记录 ' 输入参数:id 记录id ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public function delRsImg(ByVal id,ByVal spe_id) dim sql dim delfile,fso,f2 sql="Select * from Image_up where spe_id="&spe_id&" and (Lin_type=" if id="" then response.Write "请选择所要删除的项目" response.End() end if z=split(id,",") sql=sql&z(c) for c=1 to ubound(z) sql=sql&" or Lin_type="&z(c) next sql=sql&")" if ExecSqlWrite(sql) then '删除图片 do while not rs.eof delfile="../up_image/"&rs("Up_Path") Set fso = CreateObject("Scripting.FileSystemObject") Set f2 = fso.GetFile(Server.mappath(delfile)) f2.delete rs.delete rs.movenext loop end if end function '============================================================= ' 函 数 名:delImg ' 功能描述:删除Image_up(图片表)中的指定图片记录 ' 输入参数:id 记录id ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public function delImg(ByVal id) dim sql dim delfile,fso,f2 sql="Select * from Image_up where id=" if id="" then response.Write "请选择所要删除的项目" response.End() end if z=split(id,",") sql=sql&z(c) for c=1 to ubound(z) sql=sql&" or id="&z(c) next if ExecSqlWrite(sql) then '删除图片 do while not rs.eof delfile="../up_image/"&rs("Up_Path") Set fso = CreateObject("Scripting.FileSystemObject") Set f2 = fso.GetFile(Server.mappath(delfile)) f2.delete rs.delete rs.movenext loop end if end function '============================================================= ' 函 数 名:delspace ' 功能描述:将多个空格转换成一个字符 ' 输入参数:strData,要转化的字符串;str_replacewith 要替换的字符 ' 返 回 值:转换后的文章 ' 创建日期:2006-8-31 ' 修改日期:2008-8-31 ' 作 者:李瑞斌 ' 附加说明: '============================================================== Public property get delspace(ByVal strData,ByVal str_replacewith) dim newstrData set newstrData =new RegExp newstrData.Global = True newstrData.Pattern = "([\s\t/]+)" formatData= newstrData.Replace(strData,str_replacewith) end property '============================================================= ' 函 数 名:RemoveHTML ' 功能描述:删除文章的格式 ' 输入参数:strHTML,带格式的文章 ' 返 回 值:转换后的文章 ' 创建日期:2006-9-18 ' 修改日期:2006-9-18 ' 作 者:互联网 http://community.csdn.net/Expert/topic/5025/5028754.xml?temp=.243313 ' 附加说明: '============================================================== Public property get RemoveHTML(ByVal strHTML) Dim objRegExp, Match1, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True '取闭合的<> objRegExp.Pattern = "<.+?>" '进行匹配 Set Matches = objRegExp.Execute(strHTML) ' 遍历匹配集合,并替换掉匹配的项目 For Each Match1 in Matches strHtml=Replace(strHTML,Match1.Value,"") Next Set objRegExp = Nothing RemoveHTML=strHTML End property '============================================================= ' 函 数 名:FilterHTML ' 功能描述:截取后显示多少个字符 ' 输入参数:str,文章;strlen返回的字符个数 ' 返 回 值:转换后的文章 ' 创建日期:2006-9-18 ' 修改日期:2006-9-18 ' 作 者:互联网 http://community.csdn.net/Expert/topic/5025/5028754.xml?temp=.243313 ' 附加说明: '============================================================== Public property get FilterHTML(ByVal str,ByVal strlen) Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern="<(.[^>]*)>" str=re.Replace(str,"") set re=Nothing Dim l,t,c,i l=Len(str) t=0 For i=1 to l c=Abs(Asc(Mid(str,i,1))) If c>255 Then t=t+2 Else t=t+1 End If If t>=strlen Then cutStr=left(str,i)&"..." Exit For Else cutStr=str End If Next cutStr=Replace(cutStr,chr(10),"") cutStr=Replace(cutStr,chr(13),"") FilterHTML=cutStr End property '============================================================= ' 函 数 名:fullstr ' 功能描述:将提交表单中的回车空格转换成html代码,同时过滤"'" ' 输入参数:str,要转换的字符串 ' 返 回 值:strTemp,转换后的字符串 ' 创建日期:2005-9-24 ' 修改日期:2005-9-24 ' 作 者:崔朝普 ' 附加说明: '============================================================== Public property get fullstr(ByVal str) dim strTemp if isnull(str) then strTemp=str else strTemp=server.htmlencode(str) strTemp=replace(strTemp,chr(10),"<br>") strTemp=replace(strTemp," "," ") strTemp=replace(strTemp,chr(9),"    ") end if fullstr=strTemp end property '============================================================= ' 函 数 名:j_mail ' 功能描述:用jmail发送邮件 ' 输入参数:email:发送邮件地址,Subject:发送的标题,HTMLBody:发送的html格式的内容,Body:文件内容 ' 返 回 值:无 ' 创建日期:2008-8-21 ' 修改日期:2008-8-21 ' 作 者:李瑞斌 ' 附加说明: '============================================================== sub j_mail(ByVal email,ByVal Subject,ByVal HTMLBody,ByVal Body) Dim JMail, contentId Set JMail = Server.CreateObject("JMail.Message") JMail.Charset = "utf-8" ' 邮件字符集,默认为"US-ASCII" ' JMail.ISOEncodeHeaders = False ' 是否进行ISO编码,默认为True ' 发送者信息(可用变量方式赋值) JMail.From = Global_mail ' 发送者地址 JMail.FromName = Global_mail_FromName ' 发送者姓名 JMail.Subject =Subject ' 邮件主题 ' 身份验证 JMail.MailServerUserName = Global_mail ' 身份验证的用户名 JMail.MailServerPassword = Global_mail_pwd ' 身份验证的密码 ' 设置优先级,范围从1到5,越大的优先级越高,3为普通 JMail.Priority = 3 'JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") ' 加入一个收件人【变量email:收件人地址】可以同一语句重复加入多个 JMail.AddRecipient(email) ' 加入附件【变量filename:附件文件的绝对地址,确保用户IUSR_????有访问的权限】 ' 【参数设置是(True)否(False)为Inline方式】 'contentId = JMail.AddAttachment (filename, True) ' 邮件主体(HTML(注意信件内链接附件的方式)) JMail.HTMLBody = HTMLBody ' 邮件主体(文本部分) JMail.Body = Body ' 发送【调用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】 if JMail.Send(Global_mail_stmp) then j_mail=true else j_mail=false end if ' 关闭并清除对象 JMail.Close() Set JMail = Nothing end sub '=========================================== ' 函 数 名:GetUrl ' 功能描述:获取当前Url参数的函数 ' 输入参数:无 ' 返 回 值:当前的URL地址 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者: ' 附加说明:用在循环前面 '=========================================== Public property get GetUrl() Dim ScriptAddress,Servername,qs ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME")) Servername = CStr(Request.ServerVariables("Server_Name")) qs=Request.QueryString if qs<>"" then GetUrl ="http://"& Servername & ScriptAddress &"?"&qs else GetUrl ="http://"& Servername & ScriptAddress end if End property '============================================================= ' 函 数 名:DB_Page ' 功能描述:分页大小设置 ' 输入参数:n,每页的大小 ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者: ' 附加说明:用在循环前面 '============================================================== Public function DB_Page(ByVal n) MaxPerPage=n '取得页数,并判断用户输入的是否数字类型的数据,如不是将以第一页显示 dim text,checkpage,i text="0123456789" Rs.PageSize=MaxPerPage for i=1 to len(request.QueryString("page")) checkpage=instr(1,text,mid(request.QueryString("page"),i,1)) if checkpage=0 then exit for end if next zpage=Rs.PageCount If checkpage<>0 then If NOT IsEmpty(request.QueryString("page")) Then CurrentPage=Cint(request.QueryString("page")) If CurrentPage < 1 Then CurrentPage = 1 If CurrentPage > zpage Then CurrentPage = zpage Else CurrentPage= 1 End If If not Rs.eof Then Rs.AbsolutePage = CurrentPage end if Else CurrentPage=1 End if end function '============================================================= ' 函 数 名:pagelist ' 功能描述:根据传入的SQL语句设置分页 ' 输入参数:n,每页的大小 ' 返 回 值:无 ' 创建日期:2008-9-6 ' 修改日期:2011-9-29 ' 作 者: ' 附加说明:用在循环前面 '============================================================== sub pagelist(ByVal sql,ByVal n, ByVal f) if (not isnull(f)) or f then dim page_sql dim t page_sql=LCase(sql) page_sql=left(page_sql,InStr(page_sql,"order by")-1) page_sql="select count(*) as num "& Right(page_sql,len(page_sql)-Instr(page_sql,"from")+1) dim rs_page set rs_page=conn.Execute(page_sql) rscount=rs_page(0) '总记录数 rs_page.close set rs_page=nothing '得到总页数 zpage=rscount\n if rscount mod n>0 then zpage=zpage+1 '取得页数,并判断用户输入的是否数字类型的数据,如不是将以第一页显示 If IsNumeric(request.QueryString("page"))<>0 then If NOT IsEmpty(request.QueryString("page")) Then CurrentPage=Cint(request.QueryString("page")) If CurrentPage < 1 Then CurrentPage = 1 If CurrentPage > zpage Then CurrentPage = zpage Else CurrentPage= 1 End If Else CurrentPage=1 End if sql=Replace(sql,"select", "select top " & n*CurrentPage) if ExecSql(sql) then Rs.PageSize=n rs.AbsolutePage=CurrentPage end if else if ExecSql(sql) then Rs.PageSize=n zpage=Rs.PageCount rscount=Rs.recordcount '总记录数 If IsNumeric(request.QueryString("page"))<>0 then If NOT IsEmpty(request.QueryString("page")) Then CurrentPage=Cint(request.QueryString("page")) If CurrentPage < 1 Then CurrentPage = 1 If CurrentPage > zpage Then CurrentPage = zpage Else CurrentPage= 1 End If If not Rs.eof Then Rs.AbsolutePage = CurrentPage end if Else CurrentPage=1 End if rs.AbsolutePage=CurrentPage end if end if end sub '============================================================= ' 函 数 名:show_Page_all ' 功能描述:显示上一页、下一页,并显示全选和删除所选择 ' 输入参数:del_page,删除所选择时跳转的页名 ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者: ' 附加说明:用在循环前面 '============================================================== function show_page_all(ByVal del_page) %> <style type="text/css"> <!-- .db { font-size: 9pt; color: #000000; } --> </style> <table width="100%" height="20" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="23%" style="font-size: 9pt">全选/反选 <input name="all1" type="checkbox" id="selectall" value="true" onClick="select_all(this)"> <a style="cursor:hand;" onClick="del_selected('<%=del_page%>')" class="hei">删除所选择</a> </td> <td width="67%" align="center" style="font-size: 9pt"> <% If CurrentPage = 1 Then Response.Write("第一页 ") Else Response.Write(" <a href=javascript:gotopage(1) class=hei>第一页</a> ") End If If CurrentPage = 1 Then Response.Write(" 上一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage-1 & ") class=hei>上一页</a> ") End If If CurrentPage = zpage Then Response.Write(" 下一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage+1 & ") class=hei>下一页</a> ") End If If CurrentPage = zpage Then Response.Write(" 最后一页 ") Else Response.Write(" <a href=javascript:gotopage("&zpage &") class=hei>最后一页</a> ") End If response.Write " <font color=red>"&rs.PageSize&"</font>条/页 共<font color=red>"&rscount&"</font>条记录" response.Write " <font color=red>"&CurrentPage&"</font>/<font color=red>"&zpage&"</font>页" %> </td> <td width="10%" height="33"> <% if rs.pagesize> 0 then %> <select size="1" name="gopage" onChange="gotopage(this.value)"> <% for i=1 to zpage %> <option value="<%=i%>"<%if i=CurrentPage then response.Write " selected"%>><%=i%></option> <%next%> </select> <% end if %></td> </tr> </table> <% end function '============================================================= ' 函 数 名:show_Page_small ' 功能描述:只显示上一页,下一页 ' 输入参数: ' 返 回 值:无 ' 创建日期:2005-9-23 ' 修改日期:2005-9-23 ' 作 者: ' 附加说明:用在循环前面 '============================================================== function show_page_small() If CurrentPage = 1 Then Response.Write(" 上一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage-1 & ") class=hei>上一页</a> ") End If If CurrentPage = zpage Then Response.Write(" 下一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage+1 & ") class=hei>下一页</a> ") End If end function '============================================================= ' 函 数 名:show_Page ' 功能描述:显示上一页,下一页 ' 输入参数:无 ' 返 回 值:无 ' 创建日期:2005-9-16 ' 修改日期:2005-9-16 ' 作 者: ' 附加说明:用在循环前面 '============================================================== function show_page() %> <table width="90%" height="20" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="67%" align="center"><% If CurrentPage = 1 Then Response.Write("第一页 ") Else Response.Write(" <a href=javascript:gotopage(1) class=hei>第一页</a> ") End If If CurrentPage = 1 Then Response.Write(" 上一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage-1 & ") class=hei>上一页</a> ") End If If CurrentPage = zpage Then Response.Write(" 下一页 ") Else Response.Write(" <a href=javascript:gotopage("& CurrentPage+1 & ") class=hei>下一页</a> ") End If If CurrentPage = zpage Then Response.Write(" 最后一页 ") Else Response.Write(" <a href=javascript:gotopage("&zpage &") class=hei>最后一页</a> ") End If response.Write " <font color=red>"&rs.PageSize&"</font>条/页 共<font color=red>"&rscount&"</font>条记录" response.Write " <font color=red>"&CurrentPage&"</font>/<font color=red>"&zpage&"</font>页" %> </td> <td width="10%" height="33"> <% if rs.pagesize> 0 then %> <select size="1" name="gopage" onChange="gotopage(this.value)"> <% for i=1 to zpage %> <option value="<%=i%>"<%if i=CurrentPage then response.Write " selected"%>><%=i%></option> <%next%> </select> <% end if %></td> </tr> </table> <% end function '=========================================== ' 函 数 名:getpage ' 功能描述:根据页码生成当前页的翻页地址 ' 输入参数:页码 ' 返 回 值:当前页的翻页地址 ' 创建日期:2008-9-6 ' 修改日期:2011-9-29 ' 作 者:李瑞斌 ' 附加说明: '=========================================== Function getpage(ByVal httppage) server_back=geturl() if instr(server_back,"?")>1 then if instr(server_back,"page")>1 then server_back=left( server_back,instr(server_back,"page")-1) pagestr="page="&httppage getpage=server_back&pagestr else getpage=server_back&"&page="&httppage end if else getpage=server_back&"?page="&httppage end if End Function '============================================================= ' 函 数 名:show_page_num_en ' 功能描述:显示分页列表 ' 输入参数:pagenum显示分页的个数 ' 返 回 值:无 ' 创建日期:2008-9-6 ' 修改日期:2011-9-29 ' 作 者: ' 附加说明: '============================================================== '英文显示翻页 '按pagenum显示页数 sub show_page_num_en(ByVal pagenum) If CurrentPage <> 1 Then Response.Write(" <a class='catalink' href="&getpage(CurrentPage-1 )&" class=hei><<< Previous</a> ") End If if CurrentPage=zpage then i= CurrentPage-pagenum else i=CurrentPage-cint(pagenum/2) end if if i<=0 then i=1 k=CurrentPage+cint(pagenum/2) if k> zpage then k=zpage if k<pagenum then k=pagenum do while (i<=zpage and i<=k) if i=CurrentPage then response.Write(" <a class='catalink' href="&getpage(i)&"><span style='color:#ff0000;'>"&i&"</span></a> ") else response.Write(" <a class='catalink' href="&getpage(i)&">"&i&"</a> ") end if i=i+1 loop If CurrentPage <> zpage Then Response.Write(" <a href="&getpage(CurrentPage+1)&" class='catalink'>Next >>></a> ") End If end sub '============================================================= ' 函 数 名:show_page_num_all ' 功能描述:显示所有分页列表 ' 输入参数:pagenum显示分页的个数 ' 返 回 值:无 ' 创建日期:2008-9-6 ' 修改日期:2011-9-29 ' 作 者: ' 附加说明: '============================================================== sub show_page_num_all() If CurrentPage <> 1 Then Response.Write(" <a class='catalink' href="&getpage(CurrentPage-1 )&" class=hei><<< Previous</a> ") else Response.Write(" <a class='catalink' href="&getpage(CurrentPage)&" class=hei><<< Previous</a> ") End If i=1 do while (i<=zpage) if i=CurrentPage then response.Write(" <a class='catalink' href="&getpage(i)&"><span style='color:#ff0000;'>"&i&"</span></a> ") else response.Write(" <a class='catalink' href="&getpage(i)&">"&i&"</a> ") end if i=i+1 loop If CurrentPage <> zpage Then Response.Write(" <a href="&getpage(CurrentPage+1)&" class='catalink'>Next >>></a> ") else Response.Write(" <a href="&getpage(CurrentPage)&" class='catalink'>Next >>></a> ") End If end sub End Class %>
以后会写这个类的用法,如有高手请指点。