記錄集分頁 方法2

2021-04-06 20:57:22 字數 2491 閱讀 8408

有時候,大家是不是因為寫一些重複的**而感到煩惱呢?由於在做asp程式時,很多時候都要用到分頁,重複作分頁程式錯誤多不說了,而且影響到作程式的積極性,故寫一分頁函式,方便大家呼叫。如下:

<%

'***************==   programmname: 分頁函式   ********************===

'  ***************=   programmed  by  bubuy   ********************=

'    ********************   2003.10.16   ********************====

function cutpage(sqlstr,conn,datenums,pagenums,urls)'利用ado分頁的函式

dim sql,cn,datenum,pagenum,url,rsdate

sql=trim(sqlstr) '獲得sql語句。

set cn=conn '獲得資料物件

datenum=cint(datenums) '獲得每頁得記錄數

pagenum=cint(pagenums) '獲得當前頁碼

url=trim(urls) '獲得路徑

set rsdate=server.createobject("adodb.recordset")

rsdate.pagesize=datenum

rsdate.open sql,cn,1,1

if rsdate.eof then

response.write("對不起,沒有記錄!

")else

if pagenum="" or pagenum<1 then

pagenum=1

elseif pagenum>rsdate.pagecount then

pagenum=rsdate.pagecount

end if

rsdate.absolutepage =pagenum

dim recordhead,recordlast '定義當前頁開頭記錄和結束記錄

recordhead=1

if pagenum>1 then recordhead=datenum*(pagenum-1)

if pagenum>=rsdate.pagecount then

recordlast=rsdate.recordcount

else

recordlast=datenum*pagenum

end if  

response.write("")

response.write("(第"&recordhead&"-"&recordlast&"條,共"&rsdate.recordcount&"條,每頁顯示"&datenum&"條)

")response.write("")

response.write("")

response.write("")

response.write("")

dim id,i

for i=0 to rsdate.fields.count-1 '設定表頭

response.write(""&rsdate.fields(i).name&"

")next

response.write("")

id=0

while not rsdate.eof and id")

else

response.write("")

end if

for each fils in rsdate.fields

response.write(""&fils&"")

next

response.write("")

rsdate.movenext    

wend

response.write("")

for i=0 to rsdate.fields.count-1 '設定表尾

response.write(""&rsdate.fields(i).name&"

")next

response.write("")

response.write("

")response.write("")

end if

rsdate.close

set rsdate=nothing

end function

%>

這樣使用

page=request("page")

sql="select * from [table]" '寫sql語句

url="xx.asp"當然也可以是"xx.asp?bubuy=1"

conn大家都知道是定義的什麼吧

呼叫就這樣

call cutpage(sql,conn,"3",page,url)'3代表每頁顯示3條記錄

由於我水平有限,程式中難免有錯,大家順便提提意見。大家也可以新增新得功能或修改已有得功能不過別忘了改後給我乙份噢,謝謝,[email protected]

記錄集分頁顯示策略

可以有以下五種方法實現 1.使用forward only的resultset,rs.next 移動記錄集就可以了 選從50 100 行int currentrow 1 int minrow 50 int maxrow 100 while rs.next if currentrow 2.使用可滾動記錄...

記錄集分頁顯示策略

記錄集分頁顯示策略 可以有以下五種方法實現 1.使用forward only的resultset,rs.next 移動記錄集就可以了 選從50 100行 int currentrow 1 int minrow 50 int maxrow 100 while rs.next if currentrow...

記錄集分頁顯示策略

記錄集分頁顯示策略 可以有以下五種方法實現 1.使用forward only的resultset,rs.next 移動記錄集就可以了 選從50 100行 int currentrow 1 int minrow 50 int maxrow 100 while rs.next if currentrow...