更新時間:2021-12-31 09:35:41 來源:動力節點 瀏覽990次
首先要定義四個變量:
int pageSize:每頁顯示多少條記錄
int pageNow:希望顯示第幾頁
int pageCount:一共有多少頁
int rowCount:一共有多少條記錄
說明:
pageSize是指定的 pageNow是用戶選擇的
rowCount是計算出來的 該計算式為
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
(技巧:數據庫插入:insert into 表名(字段1,2,。。。)select 字段1,2,...from 表名)
查詢語句
select top pageSize字段名列表from表名where id not in
(select top pageSize*(pageNow-1)id from 表名)
以我們前面的users表為例,顯示第二頁,該查詢語句就是:
select top 3 * from users where userId not in(select top 3 userId from users)
(select top 3 userId from users):選出這個表的前三條 前面再選三條
<h1>用戶信息列表</h1>
<%
//定義四個分頁會用到的變量
int pageSize=3;
int pageNow=1;//默認顯示第一頁
int rowCount=0;//該值從數據庫中查詢
int pageCount=0;//該值是通過pageSize和rowCount
//接受用戶希望顯示的頁數(pageNow)
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
//接收到了pageNow
pageNow=Integer.parseInt(s_pageNow);
}
//查詢得到rowCount
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;dataBaseName=System","sa","");
Statement sm=ct.createStatement();
ResultSet rs=sm.exeuteQuery("select count(*) form users ");
if(rs.next()){
rowCount=rs.getInt(1);
}
//計算pageCount
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
//查詢出需要顯示的記錄
rs=sm.exeuteQuery("select top "+pageSize
+" * from users where userId not in(select top "
+pageSize*(pageNow-1)+" userId from users) ");
%>
//顯示
<table border="1">
<tr><td>用戶ID</td><td>用戶名字</td><td>密碼</td><td>電郵</td><td>級別</td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt(1)%></td><td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td><td><%=rs.getString(4)%></td><td><%=rs.getInt(5)%></td></tr>
<%}%>
</table>
<%
//上一頁
if(pageNow!=1){
out.println("<a href=wel.jsp?pageNow="+(pageNow-1)+">上一頁</a>");
}
//顯示超鏈接
for(int i=1;i<=pageCount;i++){
out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>");
}
//下一頁
if(pageNow!=pageCount){
out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+">下一頁</a>");
}
%>
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習