结果集:即使用
Statement
实例执行一个
SQL
语句之后得到的一个
ResulSet
的对象。其类型分为三种:基本结果集,可滚动结果集,可更新结果集。
一、基本结果集
1
、特点:检索方法只有两种:
ResultSet.next
和
getXXX
2、Statement语句对象创建方式:●Statement语句:createStatement()
●PreParedStatement语句:PreparedcreateStatement(String sql)
●CallableStatement语句:CallablecreateStatement(String sql)
●PreParedStatement语句:PreparedcreateStatement(String sql)
●CallableStatement语句:CallablecreateStatement(String sql)
3
、主要方法:
●boolean next()
方法
将游标移到下一行,如果是有效数据则返回
true,
注意查询语句返回的结果中游标的位置为第一行的前面。
●getXXX(int columnIndex) 方法 按列号返回当前行中指定列的值,并将其转换为方法中XXX所对应的java数据类型。●getXXX(String columnName)方法 按名返回当前行中指定列的值,并将其转换为方法中XXX所对应的java数据类型。
●getXXX(int columnIndex) 方法 按列号返回当前行中指定列的值,并将其转换为方法中XXX所对应的java数据类型。●getXXX(String columnName)方法 按名返回当前行中指定列的值,并将其转换为方法中XXX所对应的java数据类型。
二、可滚动结果集
1
、特点:检索方法:提供各种定位游标的方法自由地再结果集中滚动。弥补了基本结果集只能先前滚动的局限性。
2 Statement
语句对象创建方式:
●Statement:createStatement(int resultSetType,int reslutSetConcurrency)
●PrepareStatement:prepareStatement(String sql,int resultSetType,int reslutSetConcurrency)
●CallableStatement:prepareCall(String sql,int resultSetType,int reslutSetConcurrency)
●PrepareStatement:prepareStatement(String sql,int resultSetType,int reslutSetConcurrency)
●CallableStatement:prepareCall(String sql,int resultSetType,int reslutSetConcurrency)
resultSetType
为TYPE_SCROLL_INSENSITIVE TYPE_SCROL_SENSITIVE
常量
|
含义描述
|
TYPE_FORWARD_ONLY
|
结果集不可滚动,相当于基本结果集。
|
TYPE_SCROLL_INSENSITIVE
|
结果集可滚动,但是当结果集处于打开状态时,对底层数据表中所作的变化不敏感。
|
TYPE_SCROL_SENSITIVE
|
结果集可滚动,并且当结果集处于打开状态时,对底层数据表中所作的变化敏感。
|
CONCUR_READ_ONLY
|
结果集不可更新,所以能够提供最大可能的并发级别。
|
CONCUR_UPDATABLE
|
结果介可更新,但只能提供受限的并发级别。
|
3
、主要方法:
●boolean previous()
●boolean first()
●boolean last()
●void beforFirst() 将游标移到第一行之前
●void afterLast()将游标移到最后一行之后
●boolean relative(int rows)相对于游标的当前位置将游标移动参数rows指定的行数,正数前负后。
●boolean absolute(int row)将游标移动到参数row指定的数据行 rows为正从结果集的开始向前,负从结果集的末尾向后,为零移到第一行之前。
●boolean first()
●boolean last()
●void beforFirst() 将游标移到第一行之前
●void afterLast()将游标移到最后一行之后
●boolean relative(int rows)相对于游标的当前位置将游标移动参数rows指定的行数,正数前负后。
●boolean absolute(int row)将游标移动到参数row指定的数据行 rows为正从结果集的开始向前,负从结果集的末尾向后,为零移到第一行之前。
判断游标当前位置的方法“
● Boolean isBeforeFirst()
如果游标位于第一行之前返回true.
●Boolean isAfterLast() 最后一行之后
●boolean isFirst()
●boolean isLast()
●Boolean isAfterLast() 最后一行之后
●boolean isFirst()
●boolean isLast()
三、可更新结果集
1、特点:可更新结果集的数据并将这些更新保存到数据库中。
2
创建方式:
●Statement:createStatement(int resultSetType,int reslutSetConcurrency)
●PrepareStatement:prepareStatement(String sql,int resultSetType,int reslutSetConcurrency)
●CallableStatement:prepareCall(String sql,int resultSetType,int reslutSetConcurrency)
●PrepareStatement:prepareStatement(String sql,int resultSetType,int reslutSetConcurrency)
●CallableStatement:prepareCall(String sql,int resultSetType,int reslutSetConcurrency)
reslutSetConcurrency为
CONCUR_UPDATABLE
3、方法(待续)