java-web-servlet分页显示数据库问题

caomaomr007 2013-03-26 11:46:34

pstate =connect.prepareStatement("select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";");这是报错的那一句


// pstate =connect.prepareStatement("select * from passengerMessage limit 0,5");


result = pstate.executeQuery();这一句没有运行

下面是全部代码----------------
=====================================================================
package servlets;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class SelectPassenger extends HttpServlet {
Connection connect = null;
PreparedStatement pstate = null;
ResultSet result = null;

public void doGet(HttpServletRequest req, HttpServletResponse res)
{
//业务逻辑
try
{
res.setContentType("text/html;charset=UTF-8");
res.setCharacterEncoding("UTF-8");
PrintWriter out = res.getWriter();
int pageSize = 5;//一页显示几条记录
int pageNow = 1;//希望显示第几页
int rowCount = 0;//一共有几条记录(查表)
int pageCount = 0;//一共有几页(计算)

//动态的接收pageNow
String sPageNow = req.getParameter("pageNow");

if(sPageNow!=null)
{
pageNow = Integer.parseInt(sPageNow);
}
//得到rowCount
//加载jdbc驱动
Class.forName("com.mysql.jdbc.Driver");
//得到数据库连接
connect=DriverManager.getConnection("jdbc:mysql://localhost:3306/flightTicket","root","flight");
pstate = connect.prepareStatement("select count(*) from passengerMessage");
result = pstate.executeQuery();

if(result.next()) { rowCount = result.getInt(1);//获得数据库中的记录条数

}

System.out.println(rowCount+"条数据");
//计算pageCount
if(rowCount%pageSize==0)
{
pageCount = rowCount/pageSize;
}
else
{
pageCount = rowCount/pageSize+1;
}
System.out.println(pageCount+"pageCount");
System.out.println(pageSize+"pageSize");
System.out.println(pageNow+"pageNow");
pstate =connect.prepareStatement("select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";");
// pstate =connect.prepareStatement("select * from passengerMessage limit 0,5");


result = pstate.executeQuery();

System.out.println(pageSize+"pageSize");

out.println("<table border=1>");
out.println("<tr><th>passengerName</th><th>IDCard</th><th>PTel</th></tr>");
while(result.next())
{
out.println("<tr>");
out.println("<td>"+result.getString(1)+"</td>");
out.println("<td>"+result.getString(2)+"</td>");
out.println("<td>"+result.getString(3)+"</td>");
out.println("</tr>");
}
out.println("</table>");

if(pageNow>1)
{
out.println("<a href=SelectPassenger?pageNow="+(pageNow-1)+">上一页</a>");
}

//显示超链接
for(int i=1;i<=pageCount;i++)
{
out.println("<a href=SelectPassenger?pageNow="+i+">"+i+"</a>");
}
if(pageNow<pageCount)
{
out.println("<a href=SelectPassenger?pageNow="+(pageNow+1)+">下一页</a>");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}


public void doPost(HttpServletRequest req,HttpServletResponse res)
{
this.doGet(req,res);
}
}



...全文
341 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
caomaomr007 2013-03-29
  • 打赏
  • 举报
回复
带不带分号没啥影响,这个已经测试过
xianwangkai 2013-03-28
  • 打赏
  • 举报
回复
引用 10 楼 wwwwwwwwwwqaz 的回复:
sql语法错误了
不影响。
forgetsam 2013-03-28
  • 打赏
  • 举报
回复
引用 9 楼 caomaomr007 的回复:
问题不是数据库语言问题,是myeclipse问题,重启以后就没错了。
扯淡,JDBC直接执行带分号的sql,能对才怪。
小杰_ 2013-03-28
  • 打赏
  • 举报
回复
sql语法错误了
-妖孽 2013-03-27
  • 打赏
  • 举报
回复
在这边传语句的时候,我记得好像是不能在语句后面加分号的“;”
张dozen 2013-03-27
  • 打赏
  • 举报
回复
建议楼主把"select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";"打印出来 放到plsql里单独运行一下
tianma630 2013-03-27
  • 打赏
  • 举报
回复
是不是多了个分号造成的?
caomaomr007 2013-03-27
  • 打赏
  • 举报
回复
谢谢大家,灰常感谢
caomaomr007 2013-03-27
  • 打赏
  • 举报
回复
问题不是数据库语言问题,是myeclipse问题,重启以后就没错了。
IT黑名单 2013-03-26
  • 打赏
  • 举报
回复
额,The requested URL ... was not found on this server,这个貌似是我开了代理,下面的广告没显示,跟楼主没关系……
IT黑名单 2013-03-26
  • 打赏
  • 举报
回复
错误信息貌似跟你说的错误处没关系,The requested URL ... was not found on this server
 pstate =connect.prepareStatement("select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";");
这个要改的话或许应该在limit后面加个空格
onlyyou67 2013-03-26
  • 打赏
  • 举报
回复
"select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";")会不会limit和(pageNow-1)没有空格
yyw6637 2013-03-26
  • 打赏
  • 举报
回复
pstate =connect.prepareStatement("select * from passengerMessage limit"+(pageNow-1)*pageSize+","+pageSize+";"); 这是什么??

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧