java - Why paging query does not work -
the main function of program write page displays contents of database , can achieve pagination
when first visit page can display contents of database,but when click on link below when page not able display contents of database, page can display header
it java web code, , problem code?
when first time visit java web, work, when click page connection,it display header , not show database.
package com.zigbee.data; import java.io.ioexception; import java.io.printwriter; import java.sql.*; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; /** * servlet implementation class data */ @webservlet("/datainfo") public class datainfo extends httpservlet { private static final long serialversionuid = 1l; /** * @see httpservlet#doget(httpservletrequest request, httpservletresponse response) */ protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { // todo auto-generated method stub response.setcontenttype("text/html; charset=utf-8"); printwriter out = response.getwriter(); string num = request.getparameter("num"); //out.println("<h1 align=center>基于zigbee的客车超载管理系统</h1>"); //从数据库中取出数据,并显示 connection ct = null; preparedstatement ps = null; resultset rs = null; int pagenow = 1; //当前页 int pagesize = 20; //每页显示的记录 int pagecount = 1; //共有多少页 int rowcount = 1; //共有多少记录 //接收提交的pagenow string spagenow = request.getparameter("pagenow"); if(spagenow != null) { pagenow = integer.parseint(spagenow); } try { class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); ct = drivermanager.getconnection ("jdbc:sqlserver://localhost:1433; databasename=zigbee", "sa", "123456"); //算出共多少页 ps = ct.preparestatement("select count(*) data num="+num+""); rs = ps.executequery(); rs.next(); rowcount = rs.getint(1); pagecount = rowcount%pagesize==0 ? rowcount/pagesize : rowcount/pagesize+1; ps = ct.preparestatement("select top "+pagesize+" * data time not in(select top "+(pagenow-1)*pagesize+" time data num="+num+" order time desc) , num="+num+" order time desc"); rs = ps.executequery(); out.println("<table align=center width=400px border=2 >"); out.println("<tr align=center><th>时间</th><th>车号</th><th>限载人数</th><th>实载人数</th></tr>"); while(rs.next()) { out.println("<tr><td>"+rs.getstring(1)+"</td><td>"+rs.getstring(2)+"</td><td>"+rs.getint(3)+"</td><td>"+rs.getint(4)+"</td></tr>"); } out.println("</table>"); for(int i=1; i<=pagecount; i++) { out.println("<a href='/zigbee/datainfo?pagenow="+i+"'><"+i+"></a>"); } } catch (exception e) { // todo: handle exception e.getstacktrace(); }finally{ try { if(rs != null) { rs.close(); } if(ps != null) { ps.close(); } if(ct != null) { ct.close(); } } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } } } /** * @see httpservlet#dopost(httpservletrequest request, httpservletresponse response) */ protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { // todo auto-generated method stub this.doget(request, response); }
}
when click page connection,num null
Comments
Post a Comment