ResultSet简单讲解
ResultSet对象具有指向其他数据行的光标,最初光标被置于第一行之前,next方法将光标移到下一行,该方法在ResultSet对象没有下一行时返回false,可以使用while循环来迭代结果集。
默认的ResultSet对象不可更新,仅有一个向前移动的光标,因此只能迭代它一次,并且只能按第一行到最后一行的顺序,也可以生成滚动和或可更新的ResultSet对象。
ResultSet 接口提供用于从当前行获取列值的获取方法,可以使用列的索引编号或列的名称获取值。一般情况下,使用列索引较为高效,列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,每列只能读取一次。
用列名称调用获取方法时,如果多个列具有这一名称,则返回第一个匹配列的值,对于没有在查询中显式指定的列,最好使用列编号,如果使用列名称,则应该注意保证名称唯一引用预期的列。
在可滚动的 ResultSet 对象中,可以向前和向后移动光标,将其置于绝对位置或相对于当前行的位置。
生成可滚动且不受其他更新影响的可更新结果集
TYPE_SCROLL_INSENSITIVE: 该常量指示可滚动但通常不受 ResultSet 底层数据更改影响的 ResultSet 对象的类型。
CONCUR_UPDATABLE:该常量指示可以更新的 ResultSet 对象的并发模式。
更新当前行中的值
更新 ResultSet 对象 rs 第五行中的 name 列,然后使用方法 updateRow 更新导出 rs 的数据源表。
absolute(int row): 将光标移动到此 ResultSet 对象的给定行编号。
updateString(String columnLabel, String x) : 用 String 值更新指定列。
updateRow(): 用此 ResultSet 对象的当前行的新内容更新底层数据库。
当生成 ResultSet 对象的 Statement 对象关闭、重新执行或用来从多个结果的序列获取下一个结果时,ResultSet 对象将自动关闭。