行集中的嵌套循环

时间:2013-07-28 21:18:38

标签: oracle jsp

我写了一个jsp,其中从rowset取出的多个值被移位。

StringBuffer sb = new StringBuffer();
if (!rset.next())
  sb.append("<P> No matching rows.<P>\n");
else 
{  
sb.append("<table>"); 
        while (rset.next()) 
        {  
        sb.append("<tr>"); 
        sb.append("<td>Case ID :</td>");
        sb.append("<td>"+ rset.getInt(1) + "</td>");
        sb.append("</tr>");
        sb.append("<tr>"); 
        sb.append("<td>Case Type :</td>");
        sb.append("<td>"+ rset.getString(2) + "</td>");
        sb.append("</tr>");
        sb.append("<tr>"); 
        sb.append("<td>Case Date : </td>");
        sb.append("<td>"+ rset.getString(4) + "</td>");
        sb.append("</tr>");
        sb.append("<tr>"); 
        sb.append("<td>Case plot no</td>");
        sb.append("<td>"+ rset.getInt(5) + "</td>");
        sb.append("</tr>");         
         } 
       sb.append("</table>"); 

此代码工作正常。现在,我的Case Plot没有单个Case id的多个值。我需要以逗号显示案例图中没有值,例如。 1,2,54。我怎样才能做到这一点?我添加了一些代码,但抛出异常:

sb.append("<tr>"); 
        sb.append("<td>case plot no: </td>");
        for(int i=0;i<=rset.getString(i).length();i++){
        sb.append("<td>"+ rset.getString(i) + ",</td>");
        }

1 个答案:

答案 0 :(得分:0)

我解决了问题。由于 resultset 以矩阵格式(即行列)返回输出。在我的查询中,只有一列,因此我使用rset.getString(1)获取第一列,然后在while(rset.next())中,我正在使用行值。

以下是代码:

while(rset.next())
{
sb.append(rset.getstring(1));
}

希望,这有帮助。