如何确定结果集是否为空?
美好的一天!
我想知道if-else
statement如果要确定搜索是否存在,如何在期望的结果中获得结果。我按照与之相关的先前问题中的建议进行了各种组合,但仍然无法获得想要的东西。
代码1:如果我的搜索为空,则无法到达else语句。
if (resultSet!= null) { while (resultSet.next()) { //MULTIPLE VALUE SEARCH
Product product = new Product();
product.setProductId(resultSet.getInt("productId"));
product.setProductName(resultSet.getString("productName"));
productList.add(product);
}
request.setAttribute("productList", productList);
RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp");
rd.forward(request, response);
} else {
request.setAttribute("message", "Search Failed"):
RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp");
rd.forward(request, response);
}
代码2:我也无法到达else语句,其中应显示搜索到的值…
if (!resultSet.next()) { .... Search Failed Message
} else {
while(result.next()){.....
}
代码3:与案例1相同的结果
if (resultSet.wasNull()) { .... Search Failed Message
} else {
while(result.next()){.....
}
我尝试了其他组合,但仍然无法达到我想要的结果,如下所示:当用户搜索一个值时,如果结果集为null,则将显示错误消息,否则,如果搜索不为null,则将进行1或多次搜索被显示。
请给我一个更简单的方法,因为我似乎做错了。
先感谢您..
回答:
在代码1中:
if(productList.size() == 0 ){ request.setAttribute("message", "Search Failed"):
}else{
request.setAttribute("productList", productList);
}
RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp");
rd.forward(request, response);
或 将被设置
if (resultSet!= null) { while (resultSet.next()) {
Product product = new Product();
product.setProductId(resultSet.getInt("productId"));
product.setProductName(resultSet.getString("productName"));
productList.add(product);
}
request.setAttribute("productList", productList);
RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp");
rd.forward(request, response);
}
继续 jsp
<c:if test="${fn:length(companies) gt 0}"> <!--display collection using c:foreach -->
</c:if>
<c:if test="${fn:length(companies) eq 0}">
Search failed
</c:if>
以上是 如何确定结果集是否为空? 的全部内容, 来源链接: utcz.com/qa/405723.html