乙個簡單的ASP呼叫儲存過程分頁

2021-03-31 08:56:59 字數 3005 閱讀 9807

<%

dim lblname,unid,pages

lblname="article_info"

unid="unid"

if request("page")="" then

currentpage=1

else

currentpage=int(request("page"))

end if

maxperpage=3

set rs=conn.execute ("exec sp_page "&lblname&","&unid&",0,0,'*',"&maxperpage&","¤tpage&",'',''")

sql="select count(*)  from "&lblname

curpages=conn.execute (sql)(0)

pages=round(curpages/maxperpage,0)

%>

編號使用者

密碼分數

<%

do while not rs.eof

%>

<%=rs("unid")%>

<%=rs("title")%>

<%=rs("content")%>

<%=rs("intime")%>

<%

rs.movenext

loop

%>

<% end if %>

直接到第

<%for i=1 to pages%>

"><%=i%>

<%next%>

頁----儲存過程----

create procedure sp_page

@tb         varchar(50), --表名

@col        varchar(50), --按該列來進行分頁

@coltype    int,        

--@col

列的型別,0-數字型別,1-字元型別,2-日期時間型別

@orderby    bit,         --排序,0-順序,1-倒序

@collist    varchar(800),--要查詢出的字段列表,*表示全部字段

@pagesize   int,         --每頁記錄數

@page       int,         --指定頁

@condition  varchar(800),--查詢條件

@pages      int output   --總頁數

as/*

功能描述:對指定表中滿足條件的記錄按指定列進行分頁查詢,分頁可以順序、倒序

查詢可以指定頁大小、指定查詢任意頁、指定輸出字段列表,返回總頁數

作    者:pbsql

版    本:1.10

最後修改:2004-11-29

*/declare @sql nvarchar(4000),@where1 varchar(800),@where2 varchar(800)

if @condition is null or rtrim(@condition)=''

begin--沒有查詢條件

set @where1=' where '

set @where2='  '

endelse

begin--有查詢條件

set @where1=' where (

'+@condition+'

) and '--本來有條件再加上此條件

set @where2=' where (

'+@condition+'

) '--原本沒有條件而加上此條件

endset @sql='select @pages=ceiling((count(*)+0.0)/'+cast(@pagesize as varchar)+

') from

'+@tb+@where2

exec sp_executesql @sql,n'@pages int output',@pages output--計算總頁數

if @orderby=0

set @sql='select top '+cast(@pagesize as varchar)+'

'+@collist

+' from

'+@tb+@where1+@col+'>(select

max(

'+@col+'

) '+

' from (select top '+cast(@pagesize*(@page-1) as varchar)+' '+

@col+' from

'+@tb+@where2+'order

by '+@col+'

) t) order by

'+@col

else

set @sql='select top '+cast(@pagesize as varchar)+'

'+@collist

+' from

'+@tb+@where1+@col+'<(select

min(

'+@col+'

) '+

' from (select top '+cast(@pagesize*(@page-1) as varchar)+' '+

@col+' from

'+@tb+@where2+'order

by '+@col+'

desc) t) order by '+

@col+' desc'

if @page=1--第一頁

set @sql='select top '+cast(@pagesize as varchar)+'

'+@collist+'

from

'+@tb

+@where2+'order by

'+@col+case

@orderby when 0 then '' else ' desc' end

exec(@sql)

go

乙個簡單的儲存過程

set quoted identifier off goset ansi nulls on goalter procedure list gz p zgh int null as begin if p zgh is null begin print 請輸入乙個職工號 return end else ...

乙個簡單的儲存過程

建立物件 set oconn server.createobject adodb.connection set ors server.createobject adodb.recordset set ocmd server.createobject adodb.command 資料連線 strcon...

乙個簡單的儲存過程

建立乙個簡單的儲存過程 其中涉及到是基本的傳參,定義引數,引數賦值,條件語句,迴圈語句,用游標遍歷等基本語法 建立乙個儲存過程 create or replace procedure addgoods 傳入兩個變數,乙個輸入變數,乙個輸出變數,輸出變數用來作為返回值 gname1 user tabl...