ASP编程:asp+sqlserver 分页办法(不必存储历程...
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。我的一个asp+sqlserver的分页程序:这个程序的特性就是指将以后页的记录失落到页面下去。功能不错,并且不必存储历程,因为代码没有封装,以是很零星,要用到你的程序中,必要先复杂读读。然后注重必要本人设置的中央的意义。有些是能够省略的。有些参数传送也是能够省略的。代码以下:塞北的雪分页利器(sqlserver)不必存储历程-------------------------
个中正文中有###的必要用户设置
个中正文中有参数传送**的申明要经由过程参数传送。
界说变量
dimtOption查询前提
dimtOrder排序字符串
dimtOrderField排序字段可经由过程参数取得:order_field
dimtOrderDirection排序偏向可经由过程参数取得:order_direction
dimtPageSize页巨细
dimtTotalCount总纪录数可经由过程参数取得:t_count
dimtPageCount页数
dimtCurPage以后页号可经由过程参数取得:page
dimtTableName表大概视图名
dimtFieldAlias行号的别号
dimtFieldList查询的字段列表
dimtPageField用于分页的字段
dimr_count查得的纪录数
setrs=server.createobject("adodb.recordset")纪录集工具
排序处置
tOrderField=Request("order_field")取得排序字段(参数传送**)
tOrderDirection=Request("order_dir")取得排序偏向(参数传送**)
if(tOrderField="")thentOrderField="item_code"###设置默许排序字段
if(tOrderDirection="")thentOrderDirection="asc"###设置默许排序偏向
www.ckuyun.com
tOrder="orderby"&tOrderField&""&tOrderDirection&""天生排序字符串
界说参数
tPageSize=find_rs_count###设置页巨细
tTableName="view_select1"###设置与查询的表格或视图
tFieldList="*"###欲查询的字段列表
tPageField="item_code"###设置一个主键或独一索引的字段,用于分页盘算
页数处置
tCurPage=Request("page")取得以后页(参数传送**)
tTotalCount=Request("t_count")取得总页数(参数传送**)
if(tCurPage="")thentCurPage=1
if(cint(tCurPage)=0)thentCurPage=1
if(tPageCount="")thentPageCount=1
if(cint(tPageCount)=0)thentPageCount=1
机关查询前提,依据详细的程序,一定纷歧样。可是最初的前提必需是“where???”
tOption="issue_flag=Y"###设置前提
iff_c""thentOPtion=tOPtion&f_c###设置前提
iftrim(tOption)=""then
tOption="where1=1"假如没有前提,就本人加一个。
else
tOption="where"&tOPtion
endif
机关查询字符串,这个分页程序的中心,此查询串是我们只下载以后页所需的纪录
if(tCurPage>1)then
conStr="selecttop"&tPageSize&""&tFieldList&"from"&tTableName&tOption
conStr=conStr&"and"&tPageField&"notin(selecttop"&tPageSize*(tCurPage-1)&""&tPageField&"from"&tTableName&tOption&""&tOrder&")"&tOrder
else
conStr="selecttop"&tPageSize&""&tFieldList&"from"&tTableName&tOption&""&tOrder
endif
实行主查询,取得响应纪录集
CallConnDataBase()###创建数据库毗连
rs.cursorlocation=3
rs.openconStr,conn,3,1实行查询
r_count=rs.recordcount
当还没有查询过总纪录数时而且总的纪录数凌驾了页巨细时,查询以后前提下的总的纪录数
if(r_count>=tPageSizeortCurPage>1)andtTotalCount=0then
setrr=conn.execute("selectcount(*)from"&tTableName&""&tOption)
tTotalCount=rr(0)
rr.close()
setrr=nothing
endif
if(cint(tTotalCount)=0)thentTotalCount=r_count假如总纪录为0,将以后差得的纪录集的纪录数设置为总纪录数,申明以后的总纪录数小于页巨细
使用页巨细和总纪录数盘算页数
if(cint(tTotalCount)>cint(tPageSize))then
tPageCount=cint((cint(tTotalCount)cint(tPageSize)))
if(cint(tTotalCount)modcint(tPageSize))>0then
tPageCount=tPageCount+1
endif
endif
tCurPage=cint(tCurPage)
tPageCount=cint(tPageCount)
---------------------------------------------------------------------
这就是全体代码,感乐趣的伴侣,能够研讨一下,大概将他封装起来,加上分页导航等办法。总之,但愿此代码能对人人有效。
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页:
[1]