1.如何计算出来所查询出来的记录的总个数呢?
int i=0;
while(rs.next()){
i++;
}
System.out.println(String.valueOf(i));
所以如果说在分页中就可以这样判断一次提取出来50条,然后判断一下这个变量是否为50。如果为则表示可能会还有记录。
2.判断所查询的记录是否为空(就是说到底有没有合符条件的记录)
if(rs.next()){
这个其实就相当于delphi中的rs.recordCount()属性是差不多的哦!哪怕只有一条记录也会打印出来 have的
System.out.print("have");
}else{
System.out.print("not have");
}
3.判断一下next()之后会发生什么事情
int i=0;
if(rs.next()){
while(rs.next()){
i++;
}
}
如果你这样写的话就相当于将记录集往下移了一下了。这样统计出来的记录个数跟你实际的记录个数相比会少一个哦!记住哦!
那怎么办呢?
if(rs.next()){
这个表示的是如果有下一条则至少有一条了。就可以使用beforeFirst了。
rs.beforeFirst();
while(rs.next()){
i++;
}
}
::以后就可以比较好地使用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)));
}
就可以读取出来第一条记录了!