一个ResultSet对象对应着一个由查询语句返回的一个表。对ResultSet对象的处理必须逐行进行,而对每一行中的各个列,可以按任何顺序进行处理。
ResultSet对象维持一个指向当前行的指针。最初,这个指针指向第一行之前。Result类的next()方法使这个指针向下移动一行。因此,第一次使用next()方法将指针指向结果集的第一行,这时可以对第一行的数据进行处理。处理完毕后,使用next()方法,将指针移向下一行,继续处理第二行数据。
next()返回值是一个boolean值,该值若为true, 说明结果集中还存在下一条记录,并且指针已经成功指向该记录,可以对其进行处理;若返回值是false,则说明没有下一行记录,结果集已经处理完毕。
在对每一行进行处理时,可以对各个列按任意顺序进行处理。ResultSet类的getXXX()方法可以从某一列中获得检索结果。其中XXX是JDBC中的Java数据类型,如int, String ,Date等,这与PreparedStatement类和CallableStatement类设置SQL语句的参数值类型相关联。
Sun公司提供的getXXX()提供两种方法来指定列名进行检索:一种是以一个int值作为列的索引(多用于读取未知列名的数据),另一种是以一个String对象作为列名来索引(用于读取已知列名的数据)。