光阴流逝似水流年,这是你我生活的年代,也是对时光的悼念,对光阴的祭奠,对年代的凭吊,对岁月的致敬...
有的人对B2B网站的理解仅停留在企业对企业的在线交易上,认为按照电子商务的概念就应该是在网上进行交易。但目前中国比较成功的行业B2B网站却并非所有都是在线交易模式的,相反许多行业B2B网站都没有做在线交易。根据对目前比较成功的行业B2B网站的分析研究,总结了主要的6种成功模式,下面来简要分析这六种模式。
1、以供求商机信息服务为主的行业B2B模式分析
供应为绝大部分企业的需求,这也是啊里巴巴为什么仅做中国供应商个这个服务就能把一个公司做到几十亿的原因,下面简要分析以供求商机信息服务为主的行业应具有的特点:
A、行业比较大,涉及企业数量多,产品品种繁多,能形成很大的市场,如纺织、五金;
B、产品为买方市场,企业之间竞争激烈,不是几十个供应商处于垄断地位的情况;
C、产品比较标准化,企业决定购买一个产品的很大因素是信息的优先获取决定的。
这类网站必须要做好电话销售,拉更多的采购商和供应商来这个大市场,赢利模式就成立了,代表性的网站是:中国化工网、全球五金网、全球纺织网等。
2、以行业资讯服务为主的行业B2B门户模式分析
当一个公司想生产某种新产品、扩大公司产品线或对产品进行合理的定价等,一般都有市场调查、分析预测、价格走势分析等需求,国内部分行业B2B网站正是切入了企业的这一部分需求,下面简要分析以行业资讯服务为主的行业应具有的特点。
A、产品价格波动较大,且会某个产品价格发生变动后,会波及下游很多企业;
B、行业超大型企业较多,产品一般是处于卖方市场;
C、行业具有一定的垄断性,如:石油天然气、化工、钢铁、造纸等行业。
做这类网站一定要有精通行业、善于做市场分析调查的行业专家参与,只有这样才能做出高质量的市场分析报告,帮助企业正确决策、帮助销售得以提升。代表性的网站是:我的钢铁网、联讯纸业等。
3、以招商加盟服务为主的行业B2B模式分析
下游的企业为了使产品能更好面向消费者,一般都会找分销商、代理商来销售其产品。因为如果全部企业自己做,战线拉的太长,也不利于回收资金,因为部分终端卖家会要求先卖货,再收款。下面简要分析以招商加盟服务为主的行业应具有的特点。
A、行业偏向产业链下游,产品一般直接面向普通消费者,如服装、医药;
B、产品销售渠道一般靠商场、店铺等,需靠经销商、代理商来销售其产品;
C、此行业比较注重宣传,宣传费用的预算比较多,也很喜欢做广告;
此类网站一般是以收品牌商的广告费、会员费来维持其运转,会员可在一级或二级栏目上为自己的品牌做广告,也可以查看大量经销商的联系方式。在经营时一定要将网站的流量做大,尤其要关注网站的排名、访问量等可以量化的数据,销售一般是招聘大量的电话销售人员卖广告和会员。代表性的网站有:中国服装网、医药招商网等。
4、以项目外包服务为主的行业B2B模式分析
由于中国是制造业大国,很多企业都在做出口或内销的代加工,OEM代加工企业与品牌企业之间的交易仅是合作做好产品,切入的是企业与另外一个企业之间的合作。下面简要分析以项目外包服务为主的行业应具有的特点。
A、行业绝大部分企业为做OEM代加工的工厂,本身并不直接卖产品;
B、此行业一般宣传意识不是很强,做出口或内销代加工较多,比如:服装、软件;
C、订单交易的双方为合作伙伴关系,一般需要线下考察工厂的实力;
此类行业B2B网站赢利模式为收加工厂的钱,为加工厂寻找订单或寻找更好的订单。运营时需注意的是,需要加强对客户的培育,或线下运作。代表性的网站有:软件项目外包网、全球羊毛衫网等。
5、以在线交易服务为主的行业B2B模式分析
在线交易能为买卖双方的企业节约部分销售成本,也能让企业在价格合适时及时成交,通过在线商谈、在线签单、在线支付等方式进行交易。下面简要分析以在线交易服务为主的行业应具有的特点。
A、此类产品一般价格变化较大,且是大宗产品,比如:化工、钢材、塑料等;
B、产品比较标准化,企业决定购买一个产品的很大因素是信息和价格;
C、交易简单,无需考察对方企业,一般采取仓单交易模式。
此类网站运营时必须要建立好诚信机制,比如:买卖双方诚信审核,支付的安全性,物流的快捷等,可采用第三方合作伙伴来解决物流、资金流及诚信度审核的问题,目前比较成熟的模式是:仓单交易。代表性网站有:金银岛网交所、浙江塑料城网上交易市场等。
6、以技术社区服务为主的行业B2B门户模式分析
任何一个企业都有技术的需求,技术是行业发展很大的推动力,通过服务行业的技术需求,从而提高企业的竞争力,扩大产品的销量。下面简要分析以技术社区服务为主的行业应具有的特点。
A、行业技术问题适合网上交流解决,不是很难,但是也不是太简单;
B、从事行业技术的人员经常在网上交流沟通;
C、行业有技术培训班、技术咨询顾问服务等传统的技术服务模式存在。
此类网站一般不会独立出现,往往都和以上5种模式中的几种结合起来,比如:招聘服务、项目外包服务、在线出版服务等需求。运营时需要的是,要服务好技术市场的两端,即行业技术新手和行业技术高手,让双方都能有所收获,社区才能健康发展下去。代表性的网站有:程序员论坛、螺丝网等。
通过对目前主要存在的6种比较成功的模式分析,相信对大家投资行业B2B网站具有一定的参考价值,你的行业适合什么样的模式,你只需分析你的行业特点,看与哪个模式是相对应,也可以一个网站组合1-2个模式,但是最好不要超过2个模式,毕竟这些模式都是成熟的,风险得到了降低,而不是大家都去模仿啊里巴巴,造成资源的浪费。
1、以供求商机信息服务为主的行业B2B模式分析
供应为绝大部分企业的需求,这也是啊里巴巴为什么仅做中国供应商个这个服务就能把一个公司做到几十亿的原因,下面简要分析以供求商机信息服务为主的行业应具有的特点:
A、行业比较大,涉及企业数量多,产品品种繁多,能形成很大的市场,如纺织、五金;
B、产品为买方市场,企业之间竞争激烈,不是几十个供应商处于垄断地位的情况;
C、产品比较标准化,企业决定购买一个产品的很大因素是信息的优先获取决定的。
这类网站必须要做好电话销售,拉更多的采购商和供应商来这个大市场,赢利模式就成立了,代表性的网站是:中国化工网、全球五金网、全球纺织网等。
2、以行业资讯服务为主的行业B2B门户模式分析
当一个公司想生产某种新产品、扩大公司产品线或对产品进行合理的定价等,一般都有市场调查、分析预测、价格走势分析等需求,国内部分行业B2B网站正是切入了企业的这一部分需求,下面简要分析以行业资讯服务为主的行业应具有的特点。
A、产品价格波动较大,且会某个产品价格发生变动后,会波及下游很多企业;
B、行业超大型企业较多,产品一般是处于卖方市场;
C、行业具有一定的垄断性,如:石油天然气、化工、钢铁、造纸等行业。
做这类网站一定要有精通行业、善于做市场分析调查的行业专家参与,只有这样才能做出高质量的市场分析报告,帮助企业正确决策、帮助销售得以提升。代表性的网站是:我的钢铁网、联讯纸业等。
3、以招商加盟服务为主的行业B2B模式分析
下游的企业为了使产品能更好面向消费者,一般都会找分销商、代理商来销售其产品。因为如果全部企业自己做,战线拉的太长,也不利于回收资金,因为部分终端卖家会要求先卖货,再收款。下面简要分析以招商加盟服务为主的行业应具有的特点。
A、行业偏向产业链下游,产品一般直接面向普通消费者,如服装、医药;
B、产品销售渠道一般靠商场、店铺等,需靠经销商、代理商来销售其产品;
C、此行业比较注重宣传,宣传费用的预算比较多,也很喜欢做广告;
此类网站一般是以收品牌商的广告费、会员费来维持其运转,会员可在一级或二级栏目上为自己的品牌做广告,也可以查看大量经销商的联系方式。在经营时一定要将网站的流量做大,尤其要关注网站的排名、访问量等可以量化的数据,销售一般是招聘大量的电话销售人员卖广告和会员。代表性的网站有:中国服装网、医药招商网等。
4、以项目外包服务为主的行业B2B模式分析
由于中国是制造业大国,很多企业都在做出口或内销的代加工,OEM代加工企业与品牌企业之间的交易仅是合作做好产品,切入的是企业与另外一个企业之间的合作。下面简要分析以项目外包服务为主的行业应具有的特点。
A、行业绝大部分企业为做OEM代加工的工厂,本身并不直接卖产品;
B、此行业一般宣传意识不是很强,做出口或内销代加工较多,比如:服装、软件;
C、订单交易的双方为合作伙伴关系,一般需要线下考察工厂的实力;
此类行业B2B网站赢利模式为收加工厂的钱,为加工厂寻找订单或寻找更好的订单。运营时需注意的是,需要加强对客户的培育,或线下运作。代表性的网站有:软件项目外包网、全球羊毛衫网等。
5、以在线交易服务为主的行业B2B模式分析
在线交易能为买卖双方的企业节约部分销售成本,也能让企业在价格合适时及时成交,通过在线商谈、在线签单、在线支付等方式进行交易。下面简要分析以在线交易服务为主的行业应具有的特点。
A、此类产品一般价格变化较大,且是大宗产品,比如:化工、钢材、塑料等;
B、产品比较标准化,企业决定购买一个产品的很大因素是信息和价格;
C、交易简单,无需考察对方企业,一般采取仓单交易模式。
此类网站运营时必须要建立好诚信机制,比如:买卖双方诚信审核,支付的安全性,物流的快捷等,可采用第三方合作伙伴来解决物流、资金流及诚信度审核的问题,目前比较成熟的模式是:仓单交易。代表性网站有:金银岛网交所、浙江塑料城网上交易市场等。
6、以技术社区服务为主的行业B2B门户模式分析
任何一个企业都有技术的需求,技术是行业发展很大的推动力,通过服务行业的技术需求,从而提高企业的竞争力,扩大产品的销量。下面简要分析以技术社区服务为主的行业应具有的特点。
A、行业技术问题适合网上交流解决,不是很难,但是也不是太简单;
B、从事行业技术的人员经常在网上交流沟通;
C、行业有技术培训班、技术咨询顾问服务等传统的技术服务模式存在。
此类网站一般不会独立出现,往往都和以上5种模式中的几种结合起来,比如:招聘服务、项目外包服务、在线出版服务等需求。运营时需要的是,要服务好技术市场的两端,即行业技术新手和行业技术高手,让双方都能有所收获,社区才能健康发展下去。代表性的网站有:程序员论坛、螺丝网等。
通过对目前主要存在的6种比较成功的模式分析,相信对大家投资行业B2B网站具有一定的参考价值,你的行业适合什么样的模式,你只需分析你的行业特点,看与哪个模式是相对应,也可以一个网站组合1-2个模式,但是最好不要超过2个模式,毕竟这些模式都是成熟的,风险得到了降低,而不是大家都去模仿啊里巴巴,造成资源的浪费。
查看分类:网站运营 出处:本站原创
说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Pager.asp"-->
<%
Dim Conn,ConnStr,Rs
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Db/Ok3w2009.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.RecordSet")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP分页演示</title>
</head>
<body>
<%
Sql = "select ID,Title from Ok3w_Article where IsPass=1 order by Id desc"
Set Page = New TurnPage
'调用说明:数据库连接对像Conn,记录集Rs,查询命令SQL,每页显示的条数PageSize
Call Page.GetRs(Conn,Rs,Sql,10)
Do While Not Rs.Eof And Not Page.Eof
%>
<a href="show.asp?id=<%=Rs("ID")%>"><%=Rs("Title")%></a><br />
<%
Rs.MoveNext
Loop
Rs.Close
%>
<hr />
<!--显示分页导航-->
<%Call Page.GetPageList()%>
</body>
</html>
<%
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
比起一般的分页,该分页类关键的就是二条语句:
初始化记录集:Call Page.GetRs(Conn,Rs,Sql,PageSize)
显示分页导航:Call Page.GetPageList()
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Pager.asp"-->
<%
Dim Conn,ConnStr,Rs
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Db/Ok3w2009.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.RecordSet")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP分页演示</title>
</head>
<body>
<%
Sql = "select ID,Title from Ok3w_Article where IsPass=1 order by Id desc"
Set Page = New TurnPage
'调用说明:数据库连接对像Conn,记录集Rs,查询命令SQL,每页显示的条数PageSize
Call Page.GetRs(Conn,Rs,Sql,10)
Do While Not Rs.Eof And Not Page.Eof
%>
<a href="show.asp?id=<%=Rs("ID")%>"><%=Rs("Title")%></a><br />
<%
Rs.MoveNext
Loop
Rs.Close
%>
<hr />
<!--显示分页导航-->
<%Call Page.GetPageList()%>
</body>
</html>
<%
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
比起一般的分页,该分页类关键的就是二条语句:
初始化记录集:Call Page.GetRs(Conn,Rs,Sql,PageSize)
显示分页导航:Call Page.GetPageList()
查看分类:电脑技术 出处:本站原创
<%
'百万数据超强分页类~
'比传统分页提高速度100倍
'只使用 “select * from xxxx”格式的查询语句
'使用方法:把这个文件 include 到你要进行分页的页面
' Dim Pl 定义变量,任意定义
' Set Pl = New AoaobPage 建立类的实例
' Pl.pagesize = 25 '每页显示个数
' Pl.SetPageTag = "id" '这是所有数据不会重复的数据库字段,一般为主键
' Pl.getconn = Db.Conn '这是数据库链接对象,根据自己的情况定义。
' Pl.getsql = Sql
' set Rs = Pl.getrs()'返回分页数据集
' For i=1 to 25
' If Rs.Eof Then Exit For
' ......
' Next
' set Pl = Nothing
'版权所有 http://www.aoaob.com 欢迎转载~
'联系邮件 webmaster@aoaob.com
Const L_First="<font face=""webdings""><img src=""/images/to_r1_c1.gif"" border=""0"" /></font>" '定义第一页按钮显示样式
Const L_Prev="<font face=""webdings""><img src=""/images/to_r1_c2.gif"" border=""0"" /></font>" '定义前一页按钮显示样式
Const L_Next="<font face=""webdings""><img src=""/images/to_r1_c3.gif"" border=""0"" /></font>" '定义下一页按钮显示样式
Const L_Last="<font face=""webdings""><img src=""/images/to_r1_c4.gif"" border=""0"" /></font>" '定义最后一页按钮显示样式
Class AoaobPage
Private Conn
Private Rs
Private Sql
Private PageTag
Private ThisPageSize '一页数据量
Private RsNum '数据总量
Private PageNum '页数
Private ErrInfo
Private PageUrl
Private ThisPage '当前页面值
Private IsRs '数据是否已经初始化
Private ShowPage_info_ '分页导航缓存
Public GetCurPageNum
Public Int_CurPage
Private Sub Class_Initialize '类初始化
ThisPageSize = 10 '默认每页显示个数
GetCurPageNum = 10
PageTag = ""
ShowPage_info_ = ""
IsRs = false
If Request("page")="" Then
ThisPage=1
ElseIf not(IsNumeric(Request("page"))) Then
ThisPage=1
ElseIf CInt(Trim(Request("page")))<1 Then
ThisPage=1
Else
ThisPage=CInt(Trim(Request("page")))
End If
Int_CurPage = ThisPage
End Sub
'-----------------获取分页标识
Public Property Let SetPageTag(intvalue)
If intvalue <> "" Then
PageTag = intvalue
Else
ErrInfo=ErrInfo & "分页标识的参数不正确"
ShowError()
End If
End Property
'-----------------
Public Property Let PageSize(intvalue)
If IsNumeric(intvalue) Then
ThisPageSize=CLng(intvalue)
GetCurPageNum = ThisPageSize
If ThisPageSize < 1 Then ThisPageSize = 10
Else
ErrInfo=ErrInfo & "PageSize的参数不正确"
ShowError()
End If
End Property
'---------------返回每页个数
Public Property Get PageSize
If ThisPageSize="" or (not(IsNumeric(ThisPageSize))) Then
PageSize=10
Else
PageSize=ThisPageSize
End If
End Property
'----------------得到数据库链接
Public Property Let GetConn(sconn)
Set Conn=sconn
End Property
'-----------------------得到Sql语句
Public Property Let GetSQL(svalue)
Sql=Lcase(svalue)
End Property
'-------------------打开数据库
Private Sub OpenRs()
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open Sql,Conn,1,1
End Sub
Public Property Get GetRs()
If Sql = "" Then
ErrInfo=ErrInfo & "Sql语句错误"
ShowError()
End If
Dim RsNumSql,RsNum_
RsNumSql = Replace(Sql,"*","count(*)")
If InStr(RsNumSql," order by ") > 0 Then RsNumSql = left(RsNumSql,InStrRev(RsNumSql," order by ") -1)
If Not IsObject(Conn) Then
ErrInfo=ErrInfo & "数据库链接对象错误!"
ShowError()
End If
set RsNum_ = Conn.Execute(RsNumSql)
RsNum = RsNum_(0)
RsNum_.Close
Set RsNum_ = Nothing
If RsNum mod ThisPageSize = 0 Then
PageNum = RsNum \ ThisPageSize
Else
PageNum = RsNum \ ThisPageSize + 1
End If
If ThisPage > PageNum Then ThisPage = PageNum
If(PageTag = "") Then
ErrInfo=ErrInfo & "分页标识的参数不正确!"
ShowError()
End If
If ThisPage = 1 Then
Sql = Replace(Sql,"*","Top "&ThisPageSize&" *")
ElseIf ThisPage > 1 Then
Sql = Replace(Replace(Sql,"*","Top "&ThisPageSize&" *"),"where","where "&PageTag&" not in ("&Replace(Sql,"*","Top "&(ThisPageSize*(ThisPage-1))&" "&PageTag)&") and")
End If
Call OpenRs()
IsRs = true
Set GetRs = Rs
End Property
Public Function ShowPage_info()
Dim result,i,m
PageUrl = GetUrl()
If Not IsRs Then
ErrInfo=ErrInfo & "数据执行错误!"
ShowError()
End If
If ShowPage_info_ <> "" Then
ShowPage_info = ShowPage_info_
Exit Function
End If
result = ""
If PageNum > 0 Then
If PageNum = 1 Then
Else
'第一页按钮
If ThisPage = 1 Then
result = result & L_First & vbCrLf
Else
result = result & "<a href="""&PageUrl&"1"">"&L_First&"</a>" & vbCrLf
End If
'上一数字列按钮
If ThisPage - 9 > 0 Then
result = result & "<a href="""&PageUrl&ThisPage-9&""">"&L_Prev&"</a>" & vbCrLf
Else
If ThisPage = 1 Then
result = result & L_Prev & vbCrLf
Else
result = result & "<a href="""&PageUrl&"1"">"&L_Prev&"</a>" & vbCrLf
End If
End If
'数字列按钮
If ThisPage > 5 and ThisPage + 5 < PageNum Then
For i = 1 to 9
m = ThisPage - 5 + i
If m > 0 and m <= PageNum Then
If m = ThisPage Then
result = result & "<strong class=""divline_hover""> "&m&" </strong> "&vbCrLf
Else
result = result & "<a href="""&PageUrl&m& """ class=""divline""> "&m&" </a> "&vbCrLf
End If
End If
Next
ElseIf ThisPage <= 5 and ThisPage + 5 < PageNum Then
For i = 1 to 9
If i <= PageNum Then
If i = ThisPage Then
result = result & "<strong class=""divline_hover""> "&i&" </strong> "&vbCrLf
Else
result = result & "<a href="""&PageUrl&i& """ class=""divline""> "&i&" </a> "&vbCrLf
End If
End If
Next
ElseIf ThisPage + 5 >= PageNum Then
For i = 1 to 9
If PageNum-9+i > 0 Then
If PageNum-9+i = ThisPage Then
result = result & "<strong class=""divline_hover""> "&PageNum-9+i&" </strong> "&vbCrLf
Else
result = result & "<a href="""&PageUrl&PageNum-9+i& """ class=""divline""> "&PageNum-9+i&" </a> "&vbCrLf
End If
End If
Next
End If
'下一数字列按钮
If ThisPage + 9 < PageNum Then
result = result & "<a href="""&PageUrl&ThisPage+9&""">"&L_Next&"</a>" & vbCrLf
Else
If ThisPage = PageNum or ThisPage + 5 > PageNum Then
result = result & L_Next & vbCrLf
Else
result = result & "<a href="""&PageUrl&PageNum&""">"&L_Next&"</a>" & vbCrLf
End If
End If
'最后一页按钮
If ThisPage = PageNum or ThisPage + 5 > PageNum Then
result = result & L_Last & vbCrLf
Else
result = result & "<a href="""&PageUrl&PageNum&""">"&L_Last&"</a>" & vbCrLf
End If
result = result & " "&ThisPage&"/"&PageNum&" 总共:"&RsNum&" "&ThisPageSize&"/页"&vbCrLf
End If
Else
result = "没有您要找的数据"
End If
ShowPage_info_ = result
ShowPage_info = result
End Function
Private function GetURL()
Dim strUrl,tmp_URL,i,j,search_str,result_url,str_params,str_lparams,str_rparams
search_str="page="
strUrl=Request.Servervariables("URL")
strUrl=split(strUrl,"/")
i=UBound(strUrl,1)
tmp_URL=strUrl(i)'得到当前页文件名
str_params=replace(Trim(Request.Servervariables("QUERY_STRING")),"&_=","")
If str_params="" Then
result_url=tmp_URL & "?page="
Else
If InstrRev(str_params,search_str)=0 Then
result_url=tmp_URL & "?" & str_params &"&page="
Else
j=InstrRev(str_params,search_str)-2
If j=-1 Then
result_url=tmp_URL & "?page="
Else
str_lparams=Left(str_params,j)
str_rparams=right(str_params,len(str_params)-j-1)
if InStr(str_rparams,"&")<>0 then
str_rparams=right(str_rparams,len(str_rparams)-InStr(str_rparams,"&")+1)
else
str_rparams = ""
end if
result_url=tmp_URL & "?" & str_lparams&str_rparams&"&page="
End If
End If
End If
GetURL=result_url
End function
'--------------------销毁类
Private Sub Class_Terminate
Obj_Rs.close
Set Obj_Rs=nothing
Obj_Conn.close
set Obj_Conn = nothing
End Sub
'------------------错误提示
Private Sub ShowError()
If ErrInfo <> "" Then
Response.Write("" & ErrInfo & "")
Response.End()
End If
End Sub
End Class
%>
查看分类:电脑技术 出处:本站原创







