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," ","&nbsp")
				strTemp=replace(strTemp,chr(9),"&nbsp&nbsp&nbsp&nbsp")
			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 "&nbsp;&nbsp;&nbsp;<font color=red>"&rs.PageSize&"</font>条/页&nbsp;共<font color=red>"&rscount&"</font>条记录"
			  response.Write "&nbsp;&nbsp;&nbsp;<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 "&nbsp;&nbsp;&nbsp;<font color=red>"&rs.PageSize&"</font>条/页&nbsp;共<font color=red>"&rscount&"</font>条记录"
			  response.Write "&nbsp;&nbsp;&nbsp;<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><<< &nbsp;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&nbsp;>>></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><<< &nbsp;Previous</a> ")
	else
		Response.Write(" <a class='catalink' href="&getpage(CurrentPage)&" class=hei><<< &nbsp;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&nbsp;>>></a> ")
	else
		Response.Write(" <a href="&getpage(CurrentPage)&" class='catalink'>Next&nbsp;>>></a> ")
	End If
	end sub

End Class
%>

 

以后会写这个类的用法,如有高手请指点。

posted @ 2011-09-30 11:03  .net 学习  阅读(555)  评论(0编辑  收藏  举报