JSP页面里在数据库中搜索不到要求字符时不跳转

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:07:54
//查询数据
String start=new String(request.getParameter("start").getBytes("ISO-8859-1"),"GB2312");
String strQuery="select * from T5055 where name like '%"+start+"%'";
ResultSet rs=lib.queryData(con,strQuery);
if (rs!=null)
{
while(rs.next())
{
out.println("书名:"+rs.getString("name"));
out.println("时间:"+rs.getString("start")+"<br>");
}
}
else
out.println("未查询到结果!<br>");

这是queryData方法:
public ResultSet queryData(Connection con,String sSQL)
{
ResultSet rResult = null;
try
{
Statement statement = con.createStatement();
rResult = statement.executeQuery(sSQL); //执行查询
}

问题就是start文本域提交的值如果是表里面得字段是可以正确输出的,但当表内没有该字段的时候(无论中英文)页面会刷新一次后变成空白,什么也没有。
请问这是怎么回事啊?

这样改吧:
if (rs!=null && rs.next())
{
out.println("书名:"+rs.getString("name"));
out.println("时间:"+rs.getString("start")+"<br>");
while(rs.next())
{
out.println("书名:"+rs.getString("name"));
out.println("时间:"+rs.getString("start")+"<br>");
}
}
else
out.println("未查询到结果!<br>");

这样,当结果为空时,out.println("未查询到结果!<br>"); 这句话才会被执行到,要不然这句话没被执行,所以是页面空白的!

if (rs!=null)
{
out.println("test。。。")'//试试在这里 当查询结果没有的时候会不会输出
while(rs.next())
{
out.println("书名:"+rs.getString("name"));
out.println("时间:"+rs.getString("start")+"<br>");
}
}
else
out.println("未查询到结果!<br>");

一般判断ResultSet 是用if(rs!=null&&rs.next())

rResult = st