是第二个next移动到了第二条记录.
while(rs.next())//这个就OK了.可以在循环里边设一变量来统计的结果再输出也行..
或直接Sql语句来统计记录的多少..

解决方案 »

  1.   

    if(rs.next())
    {
      while(rs.next())
      {
         out.print(rs.getString("字段名"));
      }
    }
    else
    {
      out.print("暂时没有记录!");
    }换成:---------------------
    if(rs.next())
    {
      do
      {
         out.print(rs.getString("字段名"));
      }while(rs.next())
    }
    else
    {
      out.print("暂时没有记录!");
    }
      

  2.   

    看下面代码,如果这里有记录并rs.last();就执行while并打印,但已经移动到最后一条记录了,打印出来的全是空的.如果没有rs.last();这个rs.getRow()返回值就总是0
    rs.last();
    rs.getRow();//可以计算出记录数
    rs.first();//返回到第一条
      

  3.   

    if(rs.last())
    {
      String XX[][]=new String[rs.getRow()][colnum];
      rs.first();
      int j=0;
      do
      {
         for(int i=0;i<colnum;i++) XX[j][i]=rs.getString(i+1);
           
           j++ 
      }while(rs.next())
    }
    else
    {
      out.print("暂时没有记录!");
    }
      

  4.   

    同   jihanzhong(逍遥)种写法是最省时间的.
      

  5.   

    int getRow() 
              Retrieves the current row number. getRow()//得到的是当前记录号.别弄错了.
      

  6.   

    同意jihanzhong(逍遥)
    我也想到另一种方法
    if(rs.isAfterLast())
    {
      out.print("暂时没有记录!");
    }
    else
    {
      while(rs.next())
      {
         out.print(rs.getString("字段名"));
      }
    }
      

  7.   

    jihanzhong(逍遥) 的办法可以的,你还可以
    if(rs.next())
    {
      rs.first();
      while(rs.next())
      {
         out.print(rs.getString("字段名"));
      }
    }
    else
    {
      out.print("暂时没有记录!");
    }