After end of result set

xuwei214 2010-10-09 11:36:04
搜索页面.输入一个确定存在的值,结果出现After end fo result set.找了半天也没找到哪里会有一个已经关闭的结果集.包含文件是一个全静态文件,没有动态内容.
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html; charset=GBK" pageEncoding="GBK" %>
<%@ page language="java" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=GBK" >
<title>搜索商品</title>
</head>
<body>
<%@ include file="includetop.jsp" %>
<%
String pname="";
String sql="";

if(request.getParameter("pname")!=null)
{
pname=request.getParameter("pname");
pname=new String(pname.getBytes("ISO-8859-1"));
sql="SELECT * FROM product WHERE pname REGEXP '"+pname+"'";
}
if(pname.equals(""))
{
sql="SELECT * FROM product WHERE pname REGEXP'_*'";
}
if(request.getParameter("stock")!=null)
{
String ss=request.getParameter("stock");
sql="SELECT * FROM product WHERE stock<="+ss;
}
out.print(sql+"<br>");
try{
Context initCtx = new InitialContext();
Context ctx =(Context)initCtx.lookup("java:comp/env");
DataSource ds =(DataSource)ctx.lookup("jdbc/myweb");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);

out.print("搜索结果如下:<BR>");
out.print("<TABLE border=1 bordercolorlight=#000000>");
out.print("<TR><TD width=40>序号</TD>");
out.print("<TD WIDTH=60>代码</TD>");
out.print("<TD WIDTH=80>商品名称</TD>");
out.print("<TD WIDTH=60>品牌</TD>");
out.print("<TD WIDTH=150>产品简介</TD>");
out.print("<TD WIDTH=80>存货数量</TD>");
out.print("<TD WIDTH=80>价格</TD>");
out.print("<TD width=60>更改</TD>");
out.print("<TD width=60>删除</TD></TR>");

while(rs.next());
{
out.print("<TR>");
out.print("<TD>"+rs.getInt(1)+"</TD>");
out.print("<TD>"+rs.getString("pdm")+"</TD>");
out.print("<TD>"+rs.getString("pname")+"</TD>");
out.print("<TD>"+rs.getString("provider")+"</TD>");
out.print("<TD>"+rs.getString("info")+"</TD>");
out.print("<TD>"+rs.getString("stock")+"</TD>");
out.print("<TD>"+rs.getString("price")+"</TD>");
out.print("<FORM action=update1.jsp method=post>");
out.print("<INPUT type='hidden' name='id' value='"+rs.getInt(1)+"'>");
out.print("<TD><INPUT type='submit' value='更改' name='submit'></TD>");
out.print("</FORM>");
out.print("<FORM action=delpro.jsp method=post>");
out.print("<INPUT type='hidden' name='id' value='"+rs.getInt(1)+"'>");
out.print("<TD><INPUT type='submit' value='删除' name='submit'></TD>");
out.print("</FORM>");
out.print("</TR>");
}
out.print("</TABLE>");
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
out.print(e.toString());
}
%>
</body>
</html>
...全文
437 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kebin0001 2010-10-10
  • 打赏
  • 举报
回复
while(rs.next());
注意到那個 ; 沒。因為你 while 直接跑完,接下來當然是 After end fo result set.
qlzhu1991 2010-10-09
  • 打赏
  • 举报
回复
没看懂,期待高手出现

81,087

社区成员

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

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