Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29307471
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2008-11-15 16:42:57

1.如何计算出来所查询出来的记录的总个数呢?
int i=0;
while(rs.next()){
        i++;
}
System.out.println(String.valueOf(i));
所以如果说在分页中就可以这样判断一次提取出来50条,然后判断一下这个变量是否为50。如果为则表示可能会还有记录。
2.判断所查询的记录是否为空(就是说到底有没有合符条件的记录)
if(rs.next()){
     System.out.print("have");
}else{
     System.out.print("not have");
}
这个其实就相当于delphi中的rs.recordCount()属性是差不多的哦!哪怕只有一条记录也会打印出来 have的
3.判断一下next()之后会发生什么事情
int i=0;
if(rs.next()){
   while(rs.next()){
      i++;
   }
}
如果你这样写的话就相当于将记录集往下移了一下了。这样统计出来的记录个数跟你实际的记录个数相比会少一个哦!记住哦!
那怎么办呢?
if(rs.next()){
    rs.beforeFirst();
    while(rs.next()){
      i++;
    }
}
这个表示的是如果有下一条则至少有一条了。就可以使用beforeFirst了。
::以后就可以比较好地使用ResultSet了!
4.可以通过如下 的方法将数据读取出来:
while(rs.next()){
    System.out.println(String.valueOf(rs.getString(1)));
但是如果你这样写的话就会少一条:将第一条记录给少了哦呵呵
if(rs.next()){
      while(rs.next()){
         System.out.println(String.valueOf(rs.getString(1)));
      }
   }
}
因为next之后其实就是将数据移到下一条去了哦!所以这样写的话会少一条记录呵呵!千万要注意哦!
看看这样写是可以了:
if(rs.next()){
       rs.beforeFirst();
       while(rs.next()){
       System.out.println(String.valueOf(rs.getString(1)));
       }
   }
我们必须要先回到第一条才能开始做while操作哦!
这样才能都读取出来记录而不会少记录哦!
5.那如果我想读第一条记录呢?
if(rs.next()){
               
    System.out.println(String.valueOf(rs.getString(1)));
 }
就可以读取出来第一条记录了!



阅读(827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~