JDBC ResultSet数据集参数详解

引用
.(转载)

调用ResultSet中的last()方法时,提示:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last


解决方法 :
Statement st=con.createStatement( ,ResultSet.CONCUR_READ_ONLY);
不带参数使用默认值:     
   createStatement()  
   =createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)

1。TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
2。TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至可以进行特定定位,例如移至列表中的第四个记录或者从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
3。 TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 一样,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
第二个参数设置 ResultSet 的并发性,该参数确定是否可以更新 ResultSet。其选项有:
4。CONCUR_READ_ONLY:这是缺省值,指定不可以更新 ResultSet
5。CONCUR_UPDATABLE:指定可以更新 ResultSet


附加:ResultSet方法大全:
boolean  absolute ( int row) JDBC 2.0。将游标移至结果集中的给定行号。
void  afterLast () JDBC 2.0。将游标移至结果集的末尾,正好在最后一行的后面。
void  beforeFirst () JDBC 2.0。将游标移至结果集的前方,正好在第一行的前面。
void  clearWarnings () 清除此 ResultSet 对象上报告的所有警告。
void  close () 立即释放此 ResultSet 对象的数据库和 JDBC 资源,而不是等待对象自动关闭时才释放它们。 
int  findColumn ( String columnName) 将给定 ResultSet 列名映射至其 ResultSet 列索引。
boolean  first () JDBC 2.0。将游标移至结果集中的第一行。
BigDecimal  getBigDecimal ( int columnIndex) JDBC 2.0。以具有全部精度的 java.math.BigDecimal 对象形式获取当前行中某个列的值。Palm OS 的 DB2 Everyplace JDBC 驱动程序不支持此方法。
BigDecimal  getBigDecimal ( int columnIndex , int scale) 以 Java 编程语言中的 java.math.BigDecimal 对象形式获取此 ResultSet 对象当前行中指定列的值。Palm OS 的 DB2 Everyplace JDBC 驱动程序不支持此方法。不受支持。 
BigDecimal  getBigDecimal ( String columnName) JDBC 2.0。以具有全部精度的 java.math.BigDecimal 对象形式获取当前行中某个列的值。Palm OS 的 DB2 Everyplace JDBC 驱动程序不支持此方法。
BigDecimal  getBigDecimal ( String columnName , int scale) 以 Java 编程语言中的 java.math.BigDecimal 对象形式获取此 ResultSet 对象当前行中指定列的值。Palm OS 的 DB2 Everyplace JDBC 驱动程序不支持此方法。不受支持。 
Blob  getBlob ( int columnIndex) JDBC 2.0。获取此 ResultSet 对象的当前行中的 BLOB 值。
Blob  getBlob ( String columnName) JDBC 2.0。获取此 ResultSet 对象的当前行中的 BLOB 值。
boolean  getBoolean ( int columnIndex) 以 Java 布尔值形式获取当前行中某列的值。
boolean  getBoolean ( String columnName) 以 Java 布尔值形式获取当前行中某列的值。
byte  getByte ( int columnIndex) 以 Java 编程语言中的字节形式获取此 ResultSet 对象当前行中指定列的值。
byte  getByte ( String columnName) 以 Java 编程语言中的字节形式获取此 ResultSet 对象当前行中指定列的值。
byte[]  getBytes ( int columnIndex) 以 Java 编程语言中的字节数组形式获取此 ResultSet 对象当前行中指定列的值。
byte[]  getBytes ( String columnName) 以 Java 编程语言中的字节数组形式获取此 ResultSet 对象当前行中指定列的值。
int  getConcurrency () JDBC 2.0。返回结果集的并行性方式。
Date  getDate ( int columnIndex) 以 Java 编程语言中的 java.sql.Date 对象形式获取此 ResultSet 对象当前行中指定列的值。
Date  getDate ( int columnIndex , Calendar cal) 以 Java 编程语言中的 java.sql.Date 对象形式返回此 ResultSet 对象的当前行中指定列的值。
Date  getDate ( String columnName) 以 Java 编程语言中的 java.sql.Date 对象形式获取此 ResultSet 对象的当前行中指定列的值。
double  getDouble ( int columnIndex) 以 Java 双精度形式获取当前行中某列的值。
double  getDouble ( String columnName) 以 Java 双精度形式获取当前行中某列的值。
float  getFloat ( int columnIndex) 以 Java 浮点形式获取当前行中某列的值。
float  getFloat ( String columnName) 以 Java 浮点形式获取当前行中某列的值。
int  getInt ( int columnIndex) 以 Java 编程语言中的整数形式获取此 ResultSet 对象当前行中指定列的值。
int  getInt ( String columnName) 以 Java 编程语言中的整数形式获取此 ResultSet 对象的当前行中指定列的值。
long  getLong ( int columnIndex) 以 Java 长整型形式获取当前行中某列的值。
long  getLong ( String columnName) 以 Java 长整型形式获取当前行中某列的值。
ResultSetMetaData  getMetaData () 检索此 ResultSet 对象的列的数目、类型和属性。
Object  getObject ( int columnIndex) 以 Java 对象形式获取当前行中某列的值。
Object  getObject ( String columnName) 以 Java 对象形式获取当前行中某列的值。
int  getRow () JDBC 2.0。检索当前行号。
short  getShort ( int columnIndex) 以 Java 编程语言中的 short 形式获取此 ResultSet 对象当前行中指定列的值。
short  getShort ( String columnName) 以 Java 编程语言中的 short 形式获取此 ResultSet 对象当前行中指定列的值。
Statement  getStatement () JDBC 2.0。返回产生此 ResultSet 对象的"语句"。
String  getString ( int columnIndex) 以 Java 编程语言中的 String 形式获取此 ResultSet 对象当前行中指定列的值。
String  getString ( String columnName) 以 Java 编程语言中的 String 形式获取此 ResultSet 对象当前行中指定列的值。
Time  getTime ( int columnIndex) 以 Java 编程语言中的 java.sql.Time 对象形式获取此 ResultSet 对象的当前行中指定列的值。
Time  getTime ( String columnName) 以 Java 编程语言中的 java.sql.Date 对象形式获取此 ResultSet 对象的当前行中指定列的值。
Timestamp  getTimestamp ( String columnName) 以 Java 编程语言中的 java.sql.Timestamp 对象形式获取此 ResultSet 对象的当前行中指定列的值。
Timestamp  getTimestamp ( int columnIndex) 以 Java 编程语言中的 java.sql.Timestamp 对象形式获取此 ResultSet 对象的当前行中指定列的值。
int  getType () JDBC 2.0。返回此结果集的类型。
SQLWarning  getWarnings () 返回此 ResultSet 上的调用报告的首次警告。
boolean  isAfterLast () JDBC 2.0。指示游标是否在结果集中的最后一行后面。
boolean  isBeforeFirst () JDBC 2.0。指示游标是否在结果集中的第一行前面。
boolean  isFirst () JDBC 2.0。指示游标是否在结果集中的第一行上。
boolean  isLast () JDBC 2.0。指示游标是否在结果集中的最后一行上。对于具有类型 TYPE_FORWARD_ONLY 的结果集,不支持此方法。
boolean  last () JDBC 2.0。将游标移至结果集中的最后一行。
boolean  next () 将游标从当前位置向下移动一行。
boolean  previous () JDBC 2.0。将游标移至结果集中的前一行。
boolean  relative ( int rows) JDBC 2.0。将游标移动相对行数,正数或负数。
boolean  wasNull () 报告读取的最后一列是否具有值 SQL NULL。

猜你喜欢

转载自wy649898543.iteye.com/blog/1441003