最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

纯JSP分页代码之sqlserver2005/2008

来源:动视网 责编:小采 时间:2020-11-09 07:42:30
文档

纯JSP分页代码之sqlserver2005/2008

纯JSP分页代码之sqlserver2005/2008:昨天看到一篇《 纯JSP分页代码 》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,没有异常处理。没有考虑性能等。 现将代码贴出,以供初学者参考: 注:邀月使用环境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3调试成功。
推荐度:
导读纯JSP分页代码之sqlserver2005/2008:昨天看到一篇《 纯JSP分页代码 》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,没有异常处理。没有考虑性能等。 现将代码贴出,以供初学者参考: 注:邀月使用环境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3调试成功。


昨天看到一篇《 纯JSP分页代码 》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,没有异常处理。没有考虑性能等。 现将代码贴出,以供初学者参考: 注:邀月使用环境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3调试成功。 页面pagelistDemo.js

昨天看到一篇《纯JSP分页代码》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,没有异常处理。没有考虑性能等。

现将代码贴出,以供初学者参考:

注:邀月使用环境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3调试成功。

页面pagelistDemo.jsp内容:

Code
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//连接字符串
String url = "jdbc:sqlserver://" + Globals.Server
+ ";databaseName=" + Globals.DbName;
Class.forName(Globals.driverName).newInstance();
Connection connection = DriverManager.getConnection(url,
Globals.username, Globals.pwd);
Statement statement = connection.createStatement();

//每页显示记录数
int PageSize = 10;
int StartRow = 0; //开始显示记录的编号
int PageNo = 0;//需要显示的页数
int CounterStart = 0;//每页页码的初始值
int CounterEnd = 0;//显示页码的最大值
int RecordCount = 0;//总记录数;
int MaxPage = 0;//总页数
int PrevStart = 0;//前一页
int NextPage = 0;//
int LastRec = 0;
int LastStartRecord = 0;//最后一页开始显示记录的编号

//获取需要显示的页数,由用户提交
if (request.getParameter("PageNo") == null) { //如果为空,则表示第1页
if (StartRow == 0) {
PageNo = StartRow + 1; //设定为1
}
} else {
PageNo = Integer.parseInt(request.getParameter("PageNo")); //获得用户提交的页数
StartRow = (PageNo - 1) * PageSize; //获得开始显示的记录编号
}

//因为显示页码的数量是动态变化的,假如总共有一百页,则不可能同时显示100个链接。而是根据当前的页数显示
//一定数量的页面链接

//设置显示页码的初始值!!
if (PageNo % PageSize == 0) {
CounterStart = PageNo - (PageSize - 1);
} else {
CounterStart = PageNo - (PageNo % PageSize) + 1;
}

CounterEnd = CounterStart + (PageSize - 1);
%>


<%@page import="net.data.util.Globals"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>




分页显示记录


<%
//获取总记录数
ResultSet rs = statement
.executeQuery("select count(P_ID) from product");
rs.next();
RecordCount = rs.getInt(1);

//取特定页数的数据
String strColumn = " P_ID,P_Name,LoginID,modTime,P_SingleIntro ";
String strTable = " Product ";
String strSort = " p_ID desc ";
String PKID = "P_ID";
String strSql = "";
String strWhere = "";
String START_ID = Integer.toString((PageNo - 1) * PageSize + 1);
String END_ID = Integer.toString(PageNo * PageSize);
strSql = " SELECT " + strColumn
+ " FROM (SELECT ROW_NUMBER() OVER(ORDER BY " + strSort
+ ") AS rownum," + strColumn + " FROM " + strTable
+ " WITH(NOLOCK) " + strWhere
+ ") AS D WHERE rownum BETWEEN " + START_ID + " AND "
+ END_ID + " ORDER BY " + strSort;
rs = statement.executeQuery(strSql);

//获取总页数
MaxPage = RecordCount % PageSize;
if (RecordCount % PageSize == 0) {
MaxPage = RecordCount / PageSize;
} else {
MaxPage = RecordCount / PageSize + 1;
}
%>






分页显示记录 <%="总共" + RecordCount + "条记录 - 当前页:" + PageNo + "/"
+ MaxPage%>














<%
long i = 1;
while (rs.next()) {
long bil = i + (PageNo - 1) * PageSize;
%>








<%
i++;
}
%>
记录序号 数据标识号 产品名称 作者 提交时间 简介
<%=bil%> <%=rs.getString(1)%> <%=rs.getString(2)%> <%=rs.getString(3)%> <%=rs.getString(4)%> <%=rs.getString(5)%>







<%
out.print("");
//显示第一页或者前一页的链接
//如果当前页不是第1页,则显示第一页和前一页的链接
if (PageNo != 1) {
PrevStart = PageNo - 1;
out.print("第一页 : ");
out.print("" + PrevStart
+ ">前一页");
}
out.print("[");

//打印需要显示的页码
for (int c = CounterStart; c <= CounterEnd; c++) {
if (c < MaxPage) {
if (c == PageNo) {
if (c % PageSize == 0) {
out.print(c);
} else {
out.print(c + " ,");
}
} else if (c % PageSize == 0) {
out.print("" + c + ">" + c
+ "");
文档

纯JSP分页代码之sqlserver2005/2008

纯JSP分页代码之sqlserver2005/2008:昨天看到一篇《 纯JSP分页代码 》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,没有异常处理。没有考虑性能等。 现将代码贴出,以供初学者参考: 注:邀月使用环境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3调试成功。
推荐度:
标签: 代码 2008 分页
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

Top