如何确定结果集是否为空?

美好的一天!

我想知道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

回到顶部