<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script language="VB" runat="server"> Dim connstr as String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath("dbook.mdb")&" " Dim myconn As OleDbConnection = New OleDbConnection(connstr) Dim Pagesize,Pagecount,RecordNum,CurrentPage as integerPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
'每页显示的个数 Pagesize=1 '联接数据库 myconn.open() '计算总共有多少记录 Dim MyComm as OleDbCommand = new OleDbCommand("select count(*) as ID from dbook",myconn) Dim dr as OleDbDataReader = MyComm.ExecuteReader() Dim intCount as integer if dr.Read() then intCount =dr("ID") else intCount = 0 end if dr.Close() myconn.close()
if recordnum mod pagesize=0 then PageCount = RecordNum\PageSize else PageCount = RecordNum\PageSize +1 end if ' response.write(pagecount) ViewState("PageCount") = PageCountIf Not IsPostBack then CurrentPage = 0 ViewState("PageIndex") = 0 ListBind() end if End SubSub Page_OnClick(sender As Object, e As CommandEventArgs) CurrentPage = ViewState("PageIndex") PageCount = ViewState("PageCount") Dim cmd as string = e.CommandName CurrentPage-=1 ViewState("PageIndex") = CurrentPage ListBind()end sub Sub Page_OnClick1(sender As Object, e As CommandEventArgs) CurrentPage = ViewState("PageIndex") PageCount = ViewState("PageCount") Dim cmd as string = e.CommandName CurrentPage=+1 ViewState("PageIndex") = CurrentPage ListBind()end subsub listbind() Dim StartIndex as integer
StartIndex = ViewState("PageIndex")*PageSize Dim strSel as string = "select * from dbook" Dim ds as DataSet = new DataSet() Dim MyAdapter as OleDbDataAdapter = new OleDbDataAdapter(strSel,myconn) MyAdapter.Fill(ds,StartIndex,PageSize,"Result")DataList1.DataSource = ds.Tables("result").DefaultView DataList1.RepeatDirection = RepeatDirection.Horizontal DataList1.DataBind() lbnNextPage.Enabled = true lbnPrevPage.Enabled = true if(CurrentPage=(PageCount-1)) then lbnNextPage.Enabled = false if(CurrentPage=0) then lbnPrevPage.Enabled = falseend sub</script> <html> <table border=0 width="100%" cellspacing=0 cellpadding=0 align="center" style=Font-Size:9pt> <tr> <td width="50%"> <div align="left">共有照片<asp:Label id="lblRecordCount" runat="server" />张</div> </td> </tr> </table> <asp:DataList id="DataList1" runat="server" width="100%" align="center" BorderColor="black" CellPadding="3" Font-Size="9pt" RepeatColumns=6 Border=1 > <ItemStyle HorizontalAlign="Center" width="16%" ></ItemStyle> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "ID") %> </a> <br/> <font color=#808080>- <%# DataBinder.Eval(Container.DataItem, "ID") %> -</font> <br/> </ItemTemplate> </ASP:Datalist> <form runat=server > <table width="100%" border="0" align="center" style=Font-Size:9pt> <tr>
其实microsoft.com也提供分页写法。
http://expert.csdn.net/Expert/TopicView1.asp?id=961716
读完一批绑定
……
<%@ Import Namespace="System.Data.OleDb" %> <script language="VB" runat="server">
Dim connstr as String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath("dbook.mdb")&" "
Dim myconn As OleDbConnection = New OleDbConnection(connstr)
Dim Pagesize,Pagecount,RecordNum,CurrentPage as integerPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
'每页显示的个数
Pagesize=1
'联接数据库
myconn.open()
'计算总共有多少记录
Dim MyComm as OleDbCommand = new OleDbCommand("select count(*) as ID from dbook",myconn)
Dim dr as OleDbDataReader = MyComm.ExecuteReader()
Dim intCount as integer
if dr.Read() then
intCount =dr("ID")
else
intCount = 0
end if
dr.Close()
myconn.close()
lblRecordCount.Text =intcount
RecordNum=intcount
'计算总共有多少页
if recordnum mod pagesize=0 then
PageCount = RecordNum\PageSize
else
PageCount = RecordNum\PageSize +1
end if
' response.write(pagecount)
ViewState("PageCount") = PageCountIf Not IsPostBack then
CurrentPage = 0
ViewState("PageIndex") = 0
ListBind()
end if End SubSub Page_OnClick(sender As Object, e As CommandEventArgs)
CurrentPage = ViewState("PageIndex")
PageCount = ViewState("PageCount")
Dim cmd as string = e.CommandName
CurrentPage-=1
ViewState("PageIndex") = CurrentPage
ListBind()end sub
Sub Page_OnClick1(sender As Object, e As CommandEventArgs)
CurrentPage = ViewState("PageIndex")
PageCount = ViewState("PageCount")
Dim cmd as string = e.CommandName
CurrentPage=+1
ViewState("PageIndex") = CurrentPage
ListBind()end subsub listbind()
Dim StartIndex as integer
StartIndex = ViewState("PageIndex")*PageSize
Dim strSel as string = "select * from dbook"
Dim ds as DataSet = new DataSet()
Dim MyAdapter as OleDbDataAdapter = new OleDbDataAdapter(strSel,myconn)
MyAdapter.Fill(ds,StartIndex,PageSize,"Result")DataList1.DataSource = ds.Tables("result").DefaultView
DataList1.RepeatDirection = RepeatDirection.Horizontal
DataList1.DataBind() lbnNextPage.Enabled = true
lbnPrevPage.Enabled = true
if(CurrentPage=(PageCount-1)) then lbnNextPage.Enabled = false
if(CurrentPage=0) then lbnPrevPage.Enabled = falseend sub</script>
<html>
<table border=0 width="100%" cellspacing=0 cellpadding=0 align="center" style=Font-Size:9pt>
<tr>
<td width="50%">
<div align="left">共有照片<asp:Label id="lblRecordCount" runat="server" />张</div>
</td>
</tr>
</table>
<asp:DataList id="DataList1" runat="server"
width="100%"
align="center"
BorderColor="black"
CellPadding="3"
Font-Size="9pt"
RepeatColumns=6
Border=1
>
<ItemStyle HorizontalAlign="Center" width="16%" ></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "ID") %>
</a>
<br/>
<font color=#808080>- <%# DataBinder.Eval(Container.DataItem, "ID") %> -</font>
<br/>
</ItemTemplate>
</ASP:Datalist>
<form runat=server >
<table width="100%" border="0" align="center" style=Font-Size:9pt>
<tr>
<td align=center>
<asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
<asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick1" runat="server" />
</td>
</tr>
</table>
</form></html>