谁来帮帮我
我现在编的JSP遇到一个问题请高手们再帮我看看,这个程序是将符合某些条件的员工信息显示出来并可以王成修改或删除的操作,但每次运行时总报错(错误信息:Error 500: No data found )错误应该在修改和删除功能的实现上,因为我把这两个功能去掉后就正确了,但是我现在还想保留这两个功能,却不知道怎样改,希望哪位高手能再帮我看看。源代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<HTML>
<HEAD>
<%@ page
language= "java "
contentType= "text/html; charset=GB18030 "
pageEncoding= "GB18030 "
import= "java.sql.* "
%>
<META http-equiv= "Content-Type " content= "text/html; charset=GB18030 ">
<META name= "GENERATOR " content= "IBM WebSphere Studio ">
<META http-equiv= "Content-Style-Type " content= "text/css ">
<LINK href= "../theme/Master.css " rel= "stylesheet "
type= "text/css ">
<TITLE> rewardfindFinally.jsp </TITLE>
</HEAD>
<BODY background= "../image/body.gif ">
<jsp:useBean id= "connectdatabase " class= "dbms.Database "/>
<%
String rewardID=new String(request.getParameter( "rewardID ").getBytes( "ISO8859_1 "), "GBK ");
String rewardpunish=new String(request.getParameter( "rewardpunish ").getBytes( "ISO8859_1 "), "GBK ");
String employerID=new String(request.getParameter( "employerID ").getBytes( "ISO8859_1 "), "GBK ");
String employerName=new String(request.getParameter( "employerName ").getBytes( "ISO8859_1 "), "GBK ");
String reson=new String(request.getParameter( "reson ").getBytes( "ISO8859_1 "), "GBK ");
String handlename=new String(request.getParameter( "handlename ").getBytes( "ISO8859_1 "), "GBK ");
rewardID= "% "+rewardID+ "% ";
employerID= "% "+employerID+ "% ";
employerName= "% "+employerName+ "% ";
reson= "% "+reson+ "% ";
handlename= "% "+handlename+ "% ";
String sql= "select * from pertable where rewardID LIKE ' "+rewardID+ " 'and rewardpunish LIKE ' "+rewardpunish+ " 'and employerID LIKE ' "+employerID+ " 'and employerName LIKE ' "+employerName+ " 'and reson LIKE ' "+reson+ " 'and handlename LIKE ' "+handlename+ " '; ";
ResultSet rs=connectdatabase.excute(sql);
%>
<TABLE border= "0 " width= "828 ">
<TBODY>
<TR>
<TD colspan= "3 " align= "center "> <jsp:include page= "../head.jsp "
flush= "true " /> </TD>
</TR>
<TR>
<TD> <jsp:include page= "../reward/rewardleft.jsp " /> </TD>
<TD>
<CENTER>
<TABLE border= "1 ">
<CAPTION align= "top "> <h2> 查询结果 </h2> </CAPTION>
<TBODY>
<TR align= "center " valign= "middle ">
<TD align= "center " valign= "middle "> 记录编号 </TD>
<TD> 员工编号 </TD>
<TD> 员工姓名 </TD>
<TD> 奖惩类型 </TD>
<TD> 查看详情 </TD>
<TD> 修改档案 </TD>
<TD> 删除档案 </TD>
</TR>
<%if(rs.getRow()!=0){
while(rs.next()){%>
<TR>
<TD width= "78 " align= "center " valign= "middle "> <%=rs.getString( "rewardID ")%> </TD>
<TD width= "67 " align= "center " valign= "middle "> <%=rs.getString( "EmployerID ")%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=rs.getString( "Branch ")%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=rs.getString( "Phone ")%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= '../reward/rewardfindfinallydetail.jsp?rewardID= <%=rs.getString( "EmployerID ")%> '> 查看 </A> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= '../reward/rewardedit.jsp?rewardID= <%=rs.getString( "EmployerID ")%> '> 修改 </A> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= "javascript:confirmdel( ' <%=rs.getString( "rewardID ")%> ') "> 删除 </A> </TD>
</TR>
<%}
}
%>
</TBODY>
</TABLE>
</CENTER>
</TD>
<TD> <jsp:include page= "../right.jsp " /> </TD>
</TR>
</TBODY>
</TABLE>
<script language= "javascript ">
function confirmdel(rewardID)
{
if (confirm( "真的要删除这条奖惩记录吗? ") )
top.location= "rewarddel.jsp.jsp?rewardID= "+rewardID
}
</script>
</BODY>
</HTML>
[解决办法]
<%if(rs.getRow()!=0){
while(rs.next()){
String rid = rs.getString( "rewardID ");
String eid = rs.getString( "EmployerID ");
String branch = rs.getString( "Branch ");
String phone = rs.getString( "Phone ");
%>
<TR>
<TD width= "78 " align= "center " valign= "middle "> <%=rid%> </TD>
<TD width= "67 " align= "center " valign= "middle "> <%=eid%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=branch%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=phone%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= '../reward/rewardfindfinallydetail.jsp?rewardID= <%=eid%> '> 查看 </A> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= '../reward/rewardedit.jsp?rewardID= <%=eid%> '> 修改 </A> </TD>
<TD width= "70 " align= "center " valign= "middle "> <A href= "javascript:confirmdel( ' <%=rid%> ') "> 删除 </A> </TD>
</TR>
<%}
}
%>
[解决办法]
1,你的参数都是?rewardID= 为什么有的用EmployerID,有的用rewardID呢,统一比较好
2,如果你的rs是不能回滚的,那么在必须按顺序取字段,
<TD width= "78 " align= "center " valign= "middle "> <%=rs.getString( "rewardID ")%> </TD>
<TD width= "67 " align= "center " valign= "middle "> <%=rs.getString( "EmployerID ")%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=rs.getString( "Branch ")%> </TD>
<TD width= "70 " align= "center " valign= "middle "> <%=rs.getString( "Phone ")%> </TD>
如果在回去取rewardID或EmployerID都是错的。
就要按楼上的方法解决了
[解决办法]
<%if(rs.getRow()!=0){
while(rs.next()){%>
------
如果你的rs是null值,那么rs.getRow()会报异常.
可以这样if(rs != null).
先把你的sql语句打印出来,可以在查询分析器上检查下是否正确