jsp+mysql模糊查询分页显示出现错误,求高手指点,小弟初学
<%@pagecontentType="text/html;charset=GBK"%><%@pageimport="java.sql.*,bean.*"%><html>...
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*,bean.*" %>
<html>
<head>
<title>
chaxun
</title>
</head>
<center>
<body bgcolor="#ffffff">
<h1>
信息显示
</h1>
<%
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
string keyword=request.getParameter("word");//取得关键字
String sql="select * from student where webname like '%"+keyword+"%'";
intPageSize = 2; //设置一页显示的记录数
intRowCount=DB.getResultCount(sql);//记录总数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;//总页数
ResultSet rs=DB.executeQuery(sql);
String strPage = request.getParameter("page");//取得待显示页码
if(strPage==null){//表明没有page参数,显示第一页数据
intPage = 1;
}else{
intPage = Integer.parseInt(strPage);//将字符串转换成整型
if(intPage<1){
intPage = 1;
}else if(intPage>intPageCount){
intPage=intPageCount;
}
}
%>
<form method="post" action="chaxun.jsp">
请输入您想查询用户的姓名中所包含的字:<input type="text" name="word" size=20>
<input type="submit" value="查询">
<table border frame="box" rules="none" cellspacing="5" cellpadding="7">
<tr>
<th>用户名</th><th>姓名</th><th>年龄</th><th>性别</th><th>手机号</th>
</tr>
<%
if(intPageCount>0){
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
int i = 0;
while(i<intPageSize && !rs.isAfterLast()){
%>
<tr>
<td><%=rs.getString("webname")%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("name"))%></td>
<td><%=rs.getInt("age")%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("sex"))%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("mobile"))%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage>1){
%>
<a href="list.jsp?page=<%=intPage-1%>">上一页</a>
<%
}
if(intPage<intPageCount){
%>
<a href="list.jsp?page=<%=intPage+1%>">下一页</a>
<%
}
%>
转到第:<input type="text" name="page" size="2"> 页 <input type="submit" value="GO">
</form>
</body>
</center>
</html> 展开
<%@ page import="java.sql.*,bean.*" %>
<html>
<head>
<title>
chaxun
</title>
</head>
<center>
<body bgcolor="#ffffff">
<h1>
信息显示
</h1>
<%
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
string keyword=request.getParameter("word");//取得关键字
String sql="select * from student where webname like '%"+keyword+"%'";
intPageSize = 2; //设置一页显示的记录数
intRowCount=DB.getResultCount(sql);//记录总数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;//总页数
ResultSet rs=DB.executeQuery(sql);
String strPage = request.getParameter("page");//取得待显示页码
if(strPage==null){//表明没有page参数,显示第一页数据
intPage = 1;
}else{
intPage = Integer.parseInt(strPage);//将字符串转换成整型
if(intPage<1){
intPage = 1;
}else if(intPage>intPageCount){
intPage=intPageCount;
}
}
%>
<form method="post" action="chaxun.jsp">
请输入您想查询用户的姓名中所包含的字:<input type="text" name="word" size=20>
<input type="submit" value="查询">
<table border frame="box" rules="none" cellspacing="5" cellpadding="7">
<tr>
<th>用户名</th><th>姓名</th><th>年龄</th><th>性别</th><th>手机号</th>
</tr>
<%
if(intPageCount>0){
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
int i = 0;
while(i<intPageSize && !rs.isAfterLast()){
%>
<tr>
<td><%=rs.getString("webname")%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("name"))%></td>
<td><%=rs.getInt("age")%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("sex"))%></td>
<td><%=CodingConvert.isoToGBK(rs.getString("mobile"))%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage>1){
%>
<a href="list.jsp?page=<%=intPage-1%>">上一页</a>
<%
}
if(intPage<intPageCount){
%>
<a href="list.jsp?page=<%=intPage+1%>">下一页</a>
<%
}
%>
转到第:<input type="text" name="page" size="2"> 页 <input type="submit" value="GO">
</form>
</body>
</center>
</html> 展开
3个回答
展开全部
String sql="select * from student where webname like '%"+keyword+"%'";是错了,
怎么多了单引号,如果分页的话,mysql 中用limit关键字就好了
怎么多了单引号,如果分页的话,mysql 中用limit关键字就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
intPageCount=(intRowCount+intPageSize-1)/intPageSize;//总页数
你这有问题,你想想不应该加inPageSize,这就是个错误。
应该是
intPageCount=intRowCount%inPageSize==0?intRowCount/intPageSize:intRowCount/intPageSize+1;
你再试试实在不行我给你个例子
你这有问题,你想想不应该加inPageSize,这就是个错误。
应该是
intPageCount=intRowCount%inPageSize==0?intRowCount/intPageSize:intRowCount/intPageSize+1;
你再试试实在不行我给你个例子
追问
这是我其他的分页代码中粘过来的,我想把sql语句改了实现模糊查询,出错语句是这句:String sql="select * from student where webname like '%"+keyword+"%'";
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的这个'%"+keyword+"%'";,是不是双引号和单引号打反了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询