欢迎光临
我们一直在努力

WebComputing━ADO总结报告7

建站超值云服务器,限时71元/月

实例一:分页显示及导航:

  为什么我要再提分页的这个问题呢?因为这是一个最基本的问题,虽然有很多关于分页的文章,但我觉得他们的方法偏于复杂。其实recordset的absolutepage就可以轻松的实现分页,当你指定了pagesize属性后,对absolutepage指定值就可以翻转到指定的页面。但是如果你想使用absolutepage的话,你必须在打开recordset对象之前将它的cursorlocation值设为aduseclient,这个属性是继承connection对象的一个相同属性的。你也可以在打开connection对象之前来设定它。下面是源代码,为了方便,我将导航栏独立成了一个子程序方便大家使用。

<%

sub navigator(pageno,target)

response.write "<table border=0>"

response.write "<tr>"

response.write "<td>"

if pageno>1 then

response.write "<a href="&chr(34)&target&"?page=1"&chr(34)&">┃第一页</a>"

else

response.write "┃第一页"

end if

response.write "</td>"

response.write "<td>"

if pageno<rs.pagecount then

response.write"<a href="&chr(34)&target&"?page="&pageno+1&chr(34)&">┃下一页</a>"

else

response.write "┃下一页"

end if

response.write "</td>"

response.write "<td>"

if pageno>1 then

response.write "<a href="&chr(34)&target&"?page="&pageno-1&chr(34)&">┃前一页</a>"

else

response.write "┃前一页"

end if

response.write "</td>"

response.write "<td>"

if pageno<rs.pagecount then

response.write "<a href="&chr(34)&target&"?page="&rs.pagecount&chr(34)&">┃最后一页</a>"

else

response.write "┃最后一页"

end if

response.write "</td>"

response.write "<td>"

response.write "┃页次:"&pageno&"/"&rs.pagecount&"页┃"&rs.pagesize&"条记录/页┃"

response.write "</td>"

response.write "<td valign="middle">"

response.write "<form action="&chr(34)&target&chr(34)&" method="&chr(34)&"post"&chr(34)&">"

response.write "<input type="text"size=3 maxlength=4 name="page">"

response.write " <input type="submit"value="转到">"

response.write "</form>"

response.write "</td>"

response.write "</tr>"

response.write "</table>"

end sub

%>

<%

const adcmdtext=&h0001

const advarchar=200

const adinteger=3

const adparaminput=&h0001

const adcmdtable=&h0002

const aduseclient=3

const addate=7

const adlongvarchar=201

set conn=server.createobject("adodb.connection")

conn.connectionstring="driver={microsoft access driver (*.mdb)};dbq="& _

server.mappath("/source_asp")&"/process/process.mdb;"

conn.open

%>

<%

const maxpagesize=5

%>

<html>

<head>

<title> see book </title>

</head>

<body>

<%

dim i,j,pageno

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

rs.activeconnection=conn

rs.cursorlocation=aduseclient

rs.open "select * from books",,,adcmdtext

if rs.bof then

response.write "欢迎使用图书,资料管理程序!"

else

rs.pagesize=maxpagesize

if isempty(request.querystring("page")) then

pageno=1

elseif cint(request.querystring("page"))<1 then

pageno=1

elseif cint(request.querystring("page"))>rs.pagecount then

pageno=rs.pagecount

else

pageno=cint(request.querystring("page"))

end if

if request.servervariables("request_method")="post" and not isempty(request.form("page")) then

pageno=cint(request.form("page"))

end if

rs.absolutepage=pageno

response.write "<table border="0" width="100%">"

response.write "<tr><td colspan="&rs.fields.count&">"

target="books.asp"

call navigator(pageno,target) "调用导航栏

response.write "</td></tr>"

response.write "<tr>"

for i=0 to rs.fields.count-1

response.write "<td>"&rs.fields.item(i).name&"</td>"

next

response.write "</tr>"

j=0

while (not rs.eof) and j<rs.pagesize

response.write "<tr>"

for i=0 to rs.fields.count-1

if i=1 then

response.write "<td>"&"<a href="&chr(34)&"status.asp?bookname="& _

rs.fields.item(i).value&chr(34)&">"&rs.fields.item(i).value&"</a></td>"

"这里这样写是为了级联式查询而做的。

else

response.write "<td>"&rs.fields.item(i).value&"</td>"

end if

next

response.write "</tr>"

rs.movenext

j=j+1

wend

response.write "</table>"

end if

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » WebComputing━ADO总结报告7
分享到: 更多 (0)