在数据库中有一些数据,其中有一列为Date,从2006年1月1日到2006年12月31日也许有一条数据,也许有365条。
我想做这样的一个表格,第一列包含从2006年1月1日到2006年12月31日,然后如果在数据库中有当天的数据就可以在该行中显示这一行其他数据,没有的话这一行其他为空,我考虑了半天,每一行都需要Select一下,那不是要365条Select !?不知道有没有其他较好的方法 ,请教大家了 !!

解决方案 »

  1.   

    哈哈,是先按时间顺序取出所有的数据(一条SQL)
    再循环生成表格,
    for(int i=0;i<365;i++)
    {
    out.println("<tr><td>");
    if(如果第i条记录的时间是等于一年中的第i天的)
    {
    out.println("你想显示的数据库内容");
    }
    out.println("</td></tr>");
    }
      

  2.   

    嗯,大概想通了 !不过还是觉得你说的那个if语句有问题,取出的数据是个resultset,怎么和记录的时间比较!?我认为应该这样:(前提是rs按照时间排序!)
    for(int i=0;i<365;i++)
    {
    out.println("<tr><td>");
    if(如果第i条记录的时间==rs.getDate("dd"))
    {
    out.println("你想显示的数据库内容");
    rs.next();
    }
    out.println("</td></tr>");
    }