|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。存储历程|分页|函数|存储历程|分页|函数ALTERPROCEDUREPagination
(
@tblNamevarchar(255),--表名
@strGetFieldsvarchar(1000)=*,--必要前往的列
@fldNamevarchar(255)=,--排序的字段名
@PageSizeint=10,--页尺寸
@PageIndexint=1,--页码
@doCountbit=0,--前往纪录总数,非0值则前往
@OrderTypebit=0,--设置排序范例,非0值则降序
@strWherevarchar(1500)=--查询前提(注重:不要加where)
)
AS
/*界说变量*/
declare@strSQLvarchar(5000)--主语句
declare@strTmpvarchar(110)--一时变量
declare@strOrdervarchar(400)--排序范例
if@doCount!=0
begin
if@strWhere!=
set@strSQL=selectcount(*)asTotalfrom[+@tblName+]where+@strWhere
else
set@strSQL=selectcount(*)asTotalfrom[+@tblName+]
end
--以上代码的意义是假如@doCount传送过去的不是0,就实行总数统计。以下的一切代码都是@doCount为0的情形
else
begin
if@OrderType!=0--假如@OrderType不是0,就实行降序,这句很主要!
begin
set@strTmp=<(selectmin
set@strOrder=orderby[+@fldName+]desc
end
else
begin
set@strTmp=>(selectmax
set@strOrder=orderby[+@fldName+]asc
end
if@PageIndex=1
begin
if@strWhere!=
set@strSQL=selecttop+str(@PageSize)++@strGetFields+from[+@tblName+]where+@strWhere++@strOrder
else
set@strSQL=selecttop+str(@PageSize)++@strGetFields+from[+@tblName+]+@strOrder
--假如是第一页就实行以上代码,如许会加速实行速率
end
else
begin
--以下代码付与了@strSQL以真正实行的SQL代码
set@strSQL=selecttop+str(@PageSize)++@strGetFields+from[+@tblName+]where[+@fldName+]+@strTmp+([+@fldName+])from(selecttop+str((@PageIndex-1)*@PageSize)+[+@fldName+]from[+@tblName+]+@strOrder+)astblTmp)+@strOrder
if@strWhere!=
set@strSQL=selecttop+str(@PageSize)++@strGetFields+from[+@tblName+]where[+@fldName+]+@strTmp+([+@fldName+])from(selecttop+str((@PageIndex-1)*@PageSize)+[+@fldName+]from[+@tblName+]where+@strWhere++@strOrder+)astblTmp)and+@strWhere++@strOrder
end
end
exec(@strSQL)
</p>SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 |
|