|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。我的一个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假死,或者消耗掉服务器的内存导致服务器崩溃。 |
|