|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码偶然候,人人是否是由于写一些反复的代码而感应懊恼呢?因为在做ASP程序时,良多时分都要用到分页,反复作分页程序毛病多不说了,并且影响到作程序的主动性,故写一分页函数,便利人人挪用。以下:<%
=================ProgrammName:分页函数=======================
================ProgrammedbyBubuy=====================
====================2003.10.16========================
FunctioncutPage(sqlStr,Conn,dateNums,pageNums,URLs)使用ADO分页的函数
Dimsql,Cn,dateNum,pageNum,URL,rsDate
Sql=Trim(sqlStr)取得sql语句。
SetCn=Conn取得数据工具
dateNum=Cint(dateNums)取得每页得纪录数
pageNum=Cint(pageNums)取得以后页码
URL=Trim(URLs)取得路径
SetrsDate=Server.CreateObject("ADODB.Recordset")
rsDate.PageSize=dateNum
rsDate.OpenSql,cn,1,1
IFrsDate.EofThen
Response.Write("<center><fontstlye=font-size:14px;color=#ff0000>对不起,没有纪录!</font></center>")
Else
IFpageNum=""orpageNum<1Then
pageNum=1
ElseIfpageNum>rsDate.PageCountThen
pageNum=rsDate.PageCount
EndIF
rsDate.absolutepage=pageNum
DimrecordHead,recordLast界说以后页开首纪录和停止纪录
recordHead=1
IfpageNum>1ThenrecordHead=dateNum*(pageNum-1)
IfpageNum>=rsDate.PageCountThen
recordLast=rsDate.RecordCount
Else
recordLast=dateNum*pageNum
EndIf
Response.Write("<tablewidth=100%border=0cellpadding=0cellspacing=0style=font-size:12px;>")
Response.Write("<tr><tdheight=38align=left><fontstly=font-size:12px;>(第"&recordHead&"-"&recordLast&"条,共"&rsDate.Recordcount&"条,每页显现"&dateNum&"条)</font></td></tr>")
DimURLa界说判别输出得URL包括?没有的变量
DimupPage,downPage,allPage界说向上和向下翻的变量
DimallWrite界说输入
upPage=pageNum-1
downPage=pageNum+1
URLa=Split(URL,"?",-1,1)
IfURLa(0)=URLThen
upPage="<ahref="&URL&"?page="&upPage&"stlye=font-size:12px;>上一页</a>"
IfpageNum=1ThenupPage=""
downPage="<ahref="&URL&"?page="&downPage&"stlye=font-size:12px;>下一页</a>"
IfpageNum=rsDate.PageCountThendownPage=""
Else
upPage="<ahref="&URL&"&page="&upPage&"stlye=font-size:12px;>上一页</a>"
IfpageNum=1ThenupPage=""
downPage="<ahref="&URL&"&page="&downPage&"stlye=font-size:12px;>下一页</a>"
IfpageNum=rsDate.PageCountThendownPage=""
EndIf
allWrite=upPage&downPage&"共"&rsDate.PageCount&"页"&"今朝第"&pageNum&"页"
allwrite="<fontstyle=font-size:12px;>"&allWrite&"到第<inputtype=textstyle=width:30px;>页<inputtype=submitvalue=GO></font>"
Response.Write("<tr><formname=formPagemethod=postaction="&URL&"><tdheight=30align=rightstyle=font-szie=12px;>"&allWrite&"</td></form></tr>")
Response.Write("<tr><tdalign=center>")
Response.Write("<tablewidth=100%border=0cellpadding=0cellspacing=0style=font-size:12px;>")
Response.Write("<tr>")
Response.Write("<trbgcolor=#efffceheight=25>")
Dimid,i
Fori=0torsDate.Fields.Count-1设置表头
Response.Write("<tdalign=center><fontstyle=font-size:14px;><b>"&rsDate.Fields(i).Name&"</b></font></td>")
Next
Response.Write("</tr>")
id=0
WhilenotrsDate.EOFandid<dateNum
id=id+1
IfidMod2=0then
Response.Write("<trbgcolor=#f7f6e7>")
Else
Response.Write("<trbgcolor=#ffffff>")
EndIf
ForEachfilsinrsDate.Fields
Response.Write("<tdalign=centerheight=20>"&fils&"</td>")
Next
Response.Write("</tr>")
rsDate.MoveNext
Wend
Response.Write("<trheight=25bgcolor=#efffce>")
Fori=0torsDate.Fields.Count-1设置表尾
Response.Write("<tdalign=center><fontstyle=font-size:14px;><b>"&rsDate.Fields(i).Name&"</b></font></td>")
Next
Response.Write("</tr>")
Response.Write("</table></td></tr>")
Response.Write("<tr><formname=formPage1method=postaction="&URL&"><tdheight=30align=right>"&allWrite&"</td></form></tr>")
EndIF
rsDate.close
SetrsDate=nothing
EndFunction
%>
如许利用
page=request("page")
sql="select*from[table]"写sql语句
url="xx.asp"固然也能够是"xx.asp?bubuy=1"
conn人人都晓得是界说的甚么吧
挪用就如许
CallcutPage(sql,conn,"3",page,url)3代表每页显现3笔记录
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|