jsp页面,为什么同一记录会重复显示?麻烦各位大哥帮忙

taleljp 2007-05-11 09:31:01
为什么我的jsp页面对从数据库检索出来的记录每条都重复显示多次?)(框架页面结构,跳转菜单选择不同的表查询数据,有一个表的记录是如实显示出来的,其它表的数据都是重复显示。这里所有表的记录都是唯一的,服务器是tomcat5.5.12)
小女在此叩谢啦
...全文
512 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Terry_Y 2007-05-15
  • 打赏
  • 举报
回复
昏迷,下次碰到这问题,第一就是先把SQL语句到数据库去执行下,看查询出来的结果是否正确。
taleljp 2007-05-15
  • 打赏
  • 举报
回复
问题解决了
谢谢各位
修改了查询语句
taleljp 2007-05-12
  • 打赏
  • 举报
回复
页面代码如下,麻烦啦

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<jsp:useBean id="con" scope="page" class="common.ConnectionBean" />
<body background="../images/BK.jpg">

<center>
<script language="JavaScript" src="check.js"></script>

<%
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
String strPage;
int i;

//设置一页显示的记录数
intPageSize = 6;

//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}


String temp="";
String id="";
String Table="";
id=con.codeString(request.getParameter("ID"));//此ID为列拉列表框中optionID值
if(id.intern()=="1".intern())
{
Table="tb_zggb";
temp="中国古币";
}
else if(id.intern()=="2".intern())
{
Table="tb_mghb";
temp="民国货币";
}
else if(id.intern()=="3".intern())
{
Table="tb_gjdhb";
temp="根据地货币";
}
else if(id.intern()=="4".intern())
{
Table="tb_zgpz";
temp="中国票证";
}
else if(id.intern()=="5".intern())
{
Table="tb_zggp";
temp="中国股票";
}
else if(id.intern()=="6".intern())
{
Table="tb_rmb";
temp="人民币";
}
else if(id.intern()=="7".intern())
{
Table="tb_gathb";
temp="港澳台货币";
}
else if(id.intern()=="8".intern())
{
Table="tb_dzhb";
temp="电子货币";
}
else if(id.intern()=="9".intern())
{
Table="tb_wghb";
temp="外国货币";
}
else if(id.intern()=="10".intern())
{
Table="tb_jnb";
temp="纪念币";
}
else if(id.intern()=="11".intern())
{
Table="tb_gdhb";
temp="广东货币";
}

else if(id.intern()=="12".intern())
{
Table="tb_mqzb";
temp="明清纸币";
}
%>
<% con.setCon();
String Sql="select * from "+Table+" order by CurNO asc";
ResultSet result=con.query(Sql);
//ResultSet result=con.query(Sql);
//获取记录总数
result.last();
intRowCount = result.getRow();

//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
<h1><%=temp%>表</h1>
<form name='form1' method='post' action=redirect.jsp?ID=<%=id%> onSubmit="return checkNO()">
<table width="746" height="28" border="0" align="left">
<tr>
<td width="76"> </td>
<td width="225">请输入货币编号:</td>
<td width="196"><input name="curno" type="text" id="curno"></td>
<td width="231"><input type="submit" name="Submit" value="查询" ></td>
</tr>
</table>
<p> </p>
</form>

<form name='form2' method='post' action=view.jsp?ID=<%=id%> onSubmit="return checkPG()">
<table width="746" height="28" border="0" align="left">
<tr>
<td width="76"> </td>
<td width="225">请输入页码(如:1,2,3)</td>
<td width="198"><input name="page" type="text" id="page"></td>
<td width="229"><input type="submit" name="Submit" value="查询" ></td>
</tr>
</table>
<p> </p>
</form>
<p> </p>

<table width=80% border="1" bgcolor="#0099CC">
<tr bgcolor="#CC6633" bordercolor="#990066">
<td>货币编号</td><td>货币名称</td><td>发行时间</td><td>删除</td><td>更改</td>
</tr>

<%

//while(result.next())
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
result.absolute((intPage-1) * intPageSize + 1);

//显示数据
i = 0;
while(i<intPageSize && result.next())
{String mid,mname,mnub,mpti;
mid=result.getString("ID");
mname=result.getString("CurName");
mnub=result.getString("CurNO");
mpti=result.getString("PTime");

out.println("<tr bordercolor=#990066>");
out.println("<td>"+mnub+"</td>");
out.println("<td>"+mname+"</td>");
out.println("<td>"+mpti+"</td>");
out.println("<td><a href='delete.jsp?ID="+mid+"&Type="+request.getParameter("ID")+"' onclick='return check();'>删除</a>");
if(id.intern()=="1".intern())
{
out.println("<td><a href='zggb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="2".intern())
{
out.println("<td><a href='mghb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="3".intern())
{
out.println("<td><a href='gjdhb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="4".intern())
{
out.println("<td><a href='zgpz.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="5".intern())
{
out.println("<td><a href='zggp.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="6".intern())
{
out.println("<td><a href='rmb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="7".intern())
{
out.println("<td><a href='gathb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="8".intern())
{
out.println("<td><a href='dzhb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="9".intern())
{
out.println("<td><a href='wghb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="10".intern())
{
out.println("<td><a href='jnb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="11".intern())
{
out.println("<td><a href='gdhb.jsp?ID="+mid+"'>更改</a>");
}
else if(id.intern()=="12".intern())
{
out.println("<td><a href='mqzb.jsp?ID="+mid+"'>更改</a>");
}
out.println("</tr>");
// result.next();
i++;
}//while
}//if

result.close();
con.closeConnection();

%>
</table>
第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage>1){%><a href="view.jsp?page=<%=intPage-1%>&ID=<%=id%>">上一页</a><%}%>

<%if(intPage<intPageCount){%><a href="view.jsp?page=<%=intPage+1%>&ID=<%=id%>">下一页
</a><%}%>
</center>
</body>
</html>
<script language="javascript">
function check()
{
return window.confirm("真的要删除?");

}
</script>
superjava_2006 2007-05-12
  • 打赏
  • 举报
回复
//显示数据
i = 0;
while(i<intPageSize && result.next())
这里奇怪啊,这段代码里用到i了吗?这里往下好像也就是你显示代码的部分啊。
ufo5054492 2007-05-11
  • 打赏
  • 举报
回复
代码贴看看就知道了!SQL语句是关键!
javaboy2006 2007-05-11
  • 打赏
  • 举报
回复
lz是否使用了连接查询?
rainyheart776 2007-05-11
  • 打赏
  • 举报
回复
应该看看你的表结构,你在查询的时候,是否用到了多表查询?

81,091

社区成员

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

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