从数据库中读出 Resultset res;想把数据显示为三列的形式,
但是使用
while(res.next())
{
  <tr>
     <td><%=res.getInt("id")%></td>
  </tr>
}这样显示的是一列的while(res.next())
{
  <tr>
    <%
    for(int i = 0; i<3;i++)
    {
    %>
     <td><%=res.getInt("id")%></td>
    <%
     }
    %>
  </tr>
}
这样虽然是3列的,但是没列的值是一样的有什么办法可以解决这个问题啊

解决方案 »

  1.   

    那个FOR循环是多余的,把你第一个方法里的<tr></tr>放到for循环外面看看。
      

  2.   

    昏倒~~~
    在while的循环中加个计数器,在while(....)中限制就行了。
      

  3.   

    while(res.next())
    {
      <tr>
        <%
        for(int i = 0; i<3;i++)
        {
        %>
         <td><%=res.getInt("id")%></td>
        <%
         res.next();
         }
        %>
      </tr>
    }
      

  4.   

    不是太明白LZ是什么意思。是不是想把res里面的数据全部显示出来,res里的每一条数据是三列,是这个意思吗?
    while(res.next())
    {
      <tr>    
         <td><%=res.getInt(1)%></td>
         <td><%=res.getInt(2)%></td>
         <td><%=res.getInt(3)%></td>
      </tr>
    }不知道LZ要的是不是这种效果
      

  5.   

    标准答案:
    while(res.next())
    {
          <%
        for(int i = 0; i<3;i++)
        {
        %>
         <tr><td><%=res.getInt("id")%></td></tr>
        <%
         }
        %>
      
    }
      

  6.   

    PopKaven(岁寒) 的程序还需要改进,必须在内循环中判断是否到达记录集尾部,不然如果记录集的数量不是3的倍数的话,就回发生异常