我正在找到检查空结果集的解决方案...这是代码
temp = rs1;
boolean hasRows = temp.next();
if (hasRows) {
while (rs1.next()) {
String pid = rs1.getString("pid");
System.out.println(pid);
String pd = rs1.getString("description");
double price = rs1.getDouble("price");%>
<br>
Product id : <%=pid %><br>
Description : <%=pd %><br>
Price : <%=price %>
<%
}
}
看来
temp.next()
将影响rs.next(),结果最终无法打印出来。为什么? 最佳答案
next()
方法已经检查您尝试的控件。如果结果集rs1
具有元素,则将进入循环。
您似乎在任何地方都没有使用temp
。为什么?放弃并完成工作,请尝试以下操作:
boolean loopEntered = false;
while (rs1.next())
{
loopEntered = true;
String pid = rs1.getString("pid");
System.out.println(pid);
String pd = rs1.getString("description");
double price = rs1.getDouble("price");
%>
<br>
Product id : <%=pid %><br>
Description : <%=pd %><br>
Price : <%=price %>
<%
}
if(!loopEntered)
// print your error messages.