·您的位置: 首页 » 资源教程 » 编程开发 » ASP » 一个超强通用的分页显示函数

一个超强通用的分页显示函数

类别: ASP教程  评论数:0 总得分:0
<%
Option Explicit
Response.Buffer = True
On Error Resume Next
Dim StarTime,EndTime,Sql_Use,Conn,Db,ConnStr

Rem ##########################################################################
Rem ## 说明:本例中使用的数据库是动网论坛IP数据库 ##
Rem ## 如果不想更换可以自行从动网论坛中找。 ##
Rem ## 如果想更换数据库,那么你必须修改相应的SQL语句和其它参数 ##
Rem ## 发布的该文档中我将JS附加在下面了,并且去掉了CSS等,可自行添加啦! ##
Rem ##########################################################################

StarTime = Timer()

\'第一次使用请修改本处数据库地址并相应修改data目录中数据库名称
\'Db = "DataBase/iXuEr_Data_PAMS1.mdb"
Db = "/DataBase/Ipaddress.mdb"
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnStr

If Err Then
Err.Clear
Set Conn = Nothing
Response.Write "The database connection error, please check the connection character string."
\'Response.Write "数据库连接错误,请检查连接字符串。"
Response.End
End If

Function CloseDB()
Conn.close
Set Conn = Nothing
End Function
\'=========================================================
\' 文件:iXuEr_Data_PageShow
\' 功能:将指定数据库的指定项目进行分页读取
\' 时间:2004-08-29
\' 作者:Guidy
\' 版权:iXuEr Studio
\'=========================================================
\' Copyright (C) 2004-2006 114XP.CN All rights reserved.
\' 官方网站:HTTP://www.114xp.cn
\' 技术论坛:HTTP://bbs.114xp.cn
\' 电子信箱:guidy@qq.com,guidy@psysch.com
\'=========================================================

Dim SqlStr,DateNums,PageNums,URLs

SqlStr = "SELECT * FROM dv_address"
Conn = Conn
DateNums = 20
PageNums = Request("Page")
URLs = ""

\'################################################################################
\'使用之前需要预先定义这三个函数,根据自己适用情况而定
\'################################################################################
Function iXuEr_Page_DHead()
Response.Write("<hr>表头<hr>")
End Function
\'--------------------------------------------------------------------------------
Function iXuEr_Page_DBody(DPS_Rs)
Response.Write("数据:" & DPS_Rs("IP1") & "---" & DPS_Rs("IP2") & "---" & DPS_Rs("country") & "---" & DPS_Rs("city") & "<br>")
End Function
\'--------------------------------------------------------------------------------
Function iXuEr_Page_DTail()
Response.Write("<hr>表尾<hr>")
End Function
\'################################################################################
Call iXuEr_Data_PageShow(SqlStr,Conn,DateNums,PageNums,URLs)
\'################################################################################
Function iXuEr_Data_PageShow(SqlStr,Conn,DateNums,PageNums,URLs)
\'=========================================================
\' 函数:iXuEr_Data_PageShow(SqlStr,Conn,DateNums,PageNums,URLs)
\' 功能:将指定数据库的指定项目进行分页读取
\' 参数:SQL语句,数据库链接对象,每页数量,页码,连接URLs
\' 返回:字符串
\' 时间:2004-08-29
\' 作者:Guidy
\' 版权:iXuEr Studio
\'=========================================================
\' Copyright (C) 2004-2006 114XP.CN All Rights Reserved.
\' 官方网站:http://www.114xp.cn
\' 技术论坛:http://bbs.114xp.cn
\' 电子信箱:guidy@qq.com,guidy@psysch.com
\'=========================================================

Dim DPS_Rs,DPS_Conn
Dim Sql
Dim Page
Dim DPS_i

\'创建Recordset对象
Set DPS_Rs = Server.CreateObject("Adodb.Recordset")
\'初始化Sql语句
Sql = SqlStr
DPS_Conn = Conn
\'执行Sql
DPS_Rs.Open Sql,DPS_Conn,1,3
\'初始化页面大小--每页显示数目
DPS_Rs.PageSize = DateNums
\'初始化页码
Page = Clng(PageNums)
\'如果页码小于1,或者没有选择页码,则强制转到第一页
If IsNull(Page) Or Page = "" Then Page = 1
If Page <= 1 then Page = 1
\'如果页码大于最大值,则强制转到最后一页
If Page>=DPS_Rs.PageCount Then Page=DPS_Rs.PageCount
\'如果页码不等于1,则跳转至指定页面读取数据
If Page <> 1 then
If (Page - 1) * DPS_Rs.Pagesize < DPS_Rs.RecordCount then
DPS_Rs.Move (Page - 1) * DPS_Rs.PageSize
End If
End If
Call iXuEr_Page_URLs(Page,URLs,DPS_Rs,"DPS_TP1","Page")
\'数据显示表格头部
Call iXuEr_Page_DHead()
DPS_i = 0
Do While Not DPS_Rs.eof And DPS_i < DPS_Rs.Pagesize
\'数据显示主体部分
Call iXuEr_Page_DBody(DPS_Rs)
DPS_i = DPS_i + 1
DPS_Rs.MoveNext
Loop
\'数据显示表格尾部
Call iXuEr_Page_DTail()

Call iXuEr_Page_URLs(Page,URLs,DPS_Rs,"DPS_TP2","Page")
DPS_Rs.Close
Set DPS_Rs = Nothing
End Function
Function iXuEr_Page_URLs(Page,URLs,DPS_Rs,FormName,InPutName)
If URLs = "" Or IsNull(URLs) Then URLs = "?="
Response.Write("<table width=\'100%\'><tr align=center><form onsubmit=\'return numericCheck(""" & FormName & """,""" & InPutName & """)\' name=" & FormName & " method=post action=" & URLs & "><td>" & DPS_Rs.PageSize & "个/页&nbsp;&nbsp;&nbsp;页数:" & Page & "/" & DPS_Rs.PageCount & "&nbsp;&nbsp; 共" & DPS_Rs.recordcount & "个&nbsp;&nbsp;&nbsp;")
If Page <> 1 then
Response.Write ("[" & "<a href=""" & URLs & "&" & InPutName & "=1"" title=""返回到第一页"">首页</a>]")
Response.Write ("[" & "<a href=""" & URLs & "&" & InPutName & "=" & Page - 1 & """ title=""返回到" & Cstr(Page - 1) & "页"">上一页</a>] ")
else
Response.Write ("[首页] [上一页]")
End If
If Page <> DPS_Rs.PageCount then
Response.Write ("[" & "<a href=""" & URLs & "&" & InPutName & "=" & Page + 1 & """ title=""前进到" & Cstr(Page + 1) & "页"">下一页</a>] ")
Response.Write ("[" & "<a href=""" & URLs & "&" & InPutName & "=" & DPS_Rs.PageCount & """ title=""前进到最后一页"">尾页</a>] ")
else
Response.Write ("[下一页] [尾页]")
End If
Response.Write("&nbsp;&nbsp;<input name=" & InPutName & " type=text style=""text-align: center;"" id=" & InPutName & " value=" & Page & " size=6 maxlength=10 title=""请输入您想跳转到的页数"">&nbsp;<input name=topPage type=Submit value=跳页 title=""点击将跳转到您输入的页数"">")
Response.Write("</td></form></tr></table>")
End Function
%>
<script language="javascript1.2">
//##############################################################################
//检测表单中的数据并只允许输入数字
function numericCheck(myform,myinput){
//设定要检查的表单对象名称
var nr1=eval("document."+myform+"."+myinput+".value;");
var flg=0;
var str="";
var spc=""
var arw="";
for (var i=0;i<nr1.length;i++){
var cmp="0123456789"
var tst=nr1.substring(i,i+1)
if (cmp.indexOf(tst)<0){
flg++;
tst=tst.replace(" ","[空格]")
str+="n第"+(i+1)+"位的:"+tst;
spc+=tst;
arw+="^";
}
else{
arw+="_";
}
}
if (flg!=0){
if (spc.indexOf("[空格]")>-1) {
str+="n────────────────────────n注意:空格被禁用!";
}
alert("这里只接受数字,发现 " + flg + " 个不可接受的字符,分别是:n━━━━━━━━━━━━━━━━━━━━━━━━"+str);
return false;
}
}
//检测表单中的数据并只允许输入数字结束

//#########################################################################################
</script>
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1