ResultSet详解(转)
ResultSet用法集锦
结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等.
结果集读取数据的方法主要是getXXX(),他的参数可以是整型表示第几列(是从1开始的),还可以是列名。返回的是对应的XXX类型的值。如果对应那列
是空值,XXX是对象的话返回XXX型的空值,如果XXX是数字类型,如Float等则返回0,boolean返回false.使用getString()可以返回所有的列的值,不过返回的都是字符串类型的。XXX可以代表的类型有:
基本的数据类型如整型(int),布尔型(Boolean),浮点型(Float,Double)等,比特型(byte),还包括一些特殊的类型,如:日
期类型(java.sql.Date),时间类型(java.sql.Time),时间戳类型(java.sql.Timestamp),大数型
(BigDecimal和BigInteger等)等。还可以使用getArray(intcolindex/String
columnname),通过这个方法获得当前行中,colindex所在列的元素组成的对象的数组。使用
getAsciiStream(intcolindex/String
colname)可以获得该列对应的当前行的ascii流。也就是说所有的getXXX方法都是对当前行进行操作。
结果集从其使用的特点上
可以分为四类,这四类的结果集的所具备的特点都是和Statement语句的创建有关,因为结果集是通过Statement语句执行后产生的,所以可以
说,结果集具备何种特点,完全决定于Statement,当然我是说下面要将的四个特点,在Statement创建时包括三种类型。首先是无参数类型的,
它对应的就是下面要介绍的基本的ResultSet对应的Statement。下面的代码中用到的Connection并没有对其初始化,变量conn代
表的就是Connection对应的对象。SqlStr代表的是响应的SQL语句.
1、最基本的ResultSet。
之所以说是最基本的ResultSet是因为这个ResultSet它起到的作用就是完成了查询结果的存储功能,而且只能读取一次,不能够来回的滚动读取。这种结果集的创建方式如下:
Statement st = conn.CreateStatement()
ResultSet rs = Statement.excuteQuery(sqlStr);
由于这种结果集不支持滚动的读取功能,所以如果获得这样一个结果集,只能使用它里面的next()方法,逐个的读去数据.
2、可滚动的ResultSet类型。
这个类型支持前后滚动取得纪录next()、previous(),回到第一行first(),同时还支持要取的ResultSet中的第几行
absolute(int n),以及移动到相对当前行的第几行relative(int
n),要实现这样的ResultSet在创建Statement时用如下的方法。
Statement st =conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr)
其中两个参数的意义是:
resultSetType是设置ResultSet对象的类型标示可滚动,或者是不可滚动。取值如下:
|
ResultSet.TYPE_FORWARD_ONLY |
只能向前滚动(这是默认值) |
|
ResultSet.TYPE_SCROLL_INSENSITIVE |
这两个方法都能够实现任意的前后滚动,使用各种移动的ResultSet指针的方法。二者的区别在于前者对于修改不敏感,而后者对于修改敏感。 |
|
Result.TYPE_SCROLL_SENSITIVE |
resultSetConcurency是设置ResultSet对象能够修改的,取值如下:
|
ResultSet.CONCUR_READ_ONLY |
设置为只读类型的参数。 |
|
ResultSet.CONCUR_UPDATABLE |
设置为可修改类型的参数。 |
所以如果只是想要可以滚动的类型的Result只要把Statement如下赋值就行了。
Statement st =conn.createStatement(Result.TYPE_SCROLL_INSENITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.excuteQuery(sqlStr);
用这个Statement执行的查询语句得到的就是可滚动的ResultSet。
3、可更新的ResultSet
这样的ResultSet对象可以完成对数据库中表的修改,但是我知道ResultSet只是相当于数据库中表的视图,所以并不是所有的ResultSet只要设置了可更新就能够完成更新的,能够完成更新的ResultSet的SQL语句必须要具备如下的属性:
a、只引用了单个表。
b、不含有join或者group by子句。
c、那些列中要包含主关键字。
具有上述条件的,可更新的ResultSet可以完成对数据的修改,可更新的结果集的创建方法是:
Statement st =createstatement(Result.TYPE_SCROLL_INSENSITIVE,Result.CONCUR_UPDATABLE)
这
样的Statement的执行结果得到的就是可更新的结果集。更新的方法是,把ResultSet的游标移动到你要更新的行,然后调用
updateXXX(),这个方法XXX的含义和getXXX()是相同的。updateXXX()方法有两个参数,第一个是要更新的列,可以是列名或者
序号。第二个是要更新的数据,这个数据类型要和XXX相同。每完成对一行的update要调用updateRow()完成对数据库的写入,而且是在
ResultSet的游标没有离开该修改行之前,否则修改将不会被提交。
使用updateXXX方法还可以完成插入操作。但是首先要介绍两个方法:
moveToInsertRow()是把ResultSet移动到插入行,这个插入行是表中特殊的一行,不需要指定具体那一行,只要调用这个方法系统会自动移动到那一行的。
moveToCurrentRow()
这是把ResultSet移动到记忆中的某个行,通常当前行。如果没有使用insert操作,这个方法没有什么效果,如果使用了insert操作,这个方
法用于返回到insert操作之前的那一行,离开插入行,当然也可以通过next(),previous()等方法离开插入行。
要完成对
数据库的插入,首先调用moveToInsertRow()移动到插入行,然后调用updateXXX的方法完成对各列数据的更新,完成更新后和更新操作
一样,要写到数据库,不过这里使用的是insertRow(),也要保证在该方法执行之前ResultSet没有离开插入列,否则插入不被执行,并且对插
入行的更新将丢失.
4、可保持的ResultSet
正常情况下如果使用Statement执行完一个查询,又去执行另一个查询时这
时候第一个查询的结果集就会被关闭,也就是说,所有的Statement的查询对应的结果集是一个,如果调用Connection的commit()方法
也会关闭结果集。可保持性就是指当ResultSet的结果被提交时,是被关闭还是不被关闭。JDBC2.0和1.0提供的都是提交后ResultSet
就会被关闭。不过在JDBC3.0中,我们可以设置ResultSet是否关闭。要完成这样的ResultSet的对象的创建,要使用的
Statement的创建要具有三个参数,这个Statement的创建方式也就是,我所说的Statement的第三种创建方式。如下:
Statementst=createStatement(int resultsetscrollable,int resultsetupdateable,intresultsetSetHoldability)
ResultSet rs = st.excuteQuery(sqlStr);
前两个参数和createStatement方法中的参数是完全相同的,这里只介绍第三个参数:
resultSetHoldability表示在结果集提交后结果集是否打开,取值有两个:
|
ResultSet.HOLD_CURSORS_OVER_COMMIT |
表示修改提交时ResultSet不关闭. |
|
ResultSet.CLOSE_CURSORS_AT_COMMIT |
表示修改提交时ResultSet关闭. |
不过这种功能只是在JDBC3.0的驱动下才能成立。
总结:

JDBCAPI 2.0/3.0中ResultSet记录集的
JDBC API 2.0/3.0中ResultSet记录集的简便实用的新特性
1 新定义了若干个常数,这些常数用于指定ResultSet的类型游标移动的方向等性质,如下所示:
|
FETCH_FORWARD |
该常数的作用是指定处理记录集中行的顺序,是由前到后即从第一行开始处理一直到最后一行. |
|
FETCH_REVERSE |
该常数的作用是指定处理记录集中行的顺序,是由后到前即从最后一行开始处理一直到第一行. |
|
FETCH_UNKNOWN |
该常数的作用是不指定处理记录集中行的顺序,由JDBC 驱动程序和数据库系统决定. |
|
TYPE_FORWARD_ONLY |
该常数的作用是指定数据库游标的移动方向是向前,不允许向后移动即只能使ResultSet 接口的next()方法而不能使用previous()方法否则会产生错误. |
|
TYPE_SCROLL_INSENSITIVE |
该常数的作用是指定数据库游标可以在记录集中前后移动,并且当前数据库用户获取的记录集对其他用户的操作不敏感;就是说,当前用户正在浏览记录集中的数据,与此同时,其他用户更新了数据库中的数据,但是当前用户所获取的记录集中的数据不会受到任何影响。 |
|
TYPE_SCROLL_SENSITIVE |
该 |
|
CONCUR_READ_ONLY |
该常数的作用是指定当前记录集的协作方式(concurrencymode)为只读;一旦使用了这个常数,那么用户就不可以更新记录集中的数据。 |
|
CONCUR_UPDATABLE |
该常数的作用是指定当前记录集的协作方式(concurrencymode)为可以更新;一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记。 |
|
CLOSE_CURSORS_AT_COMMIT |
表示修改提交时ResultSet关闭. |
|
HOLD_CURSORS_OVER_COMMIT |
表示修改提交时ResultSet不关闭. |
2 ResultSet 接口提供了一整套的定位方法
这些可以在记录集中定位到任意一行:
|
public boolean absolute(int row): 该方法的作用是将记录集中的某一行设定为当前行,亦即将数据库游标移动到指定的行,参数row 指定了目标行的行号,这是绝对的行号,由记录集的第一行开始计算不是相对的行号. |
|
public boolean relative(int rows): 该方法的作用也是将记录集中的某一行设定为当前行,但是它的参数rows 表示目标行相对于当前行的行号。 |
|
public boolean first(); 该方法的作用是将当前行定位到数据库记录集的第一行。 |
|
public boolean last(); 该方法的作用刚好和first()方法相反。 |
|
public boolean isFirst(); 该方法的作用是检查当前行是否记录集的第一行,如果是返回true, 否则返回false. |
|
public boolean isLast(); 该方法的作用是检查当前行是否记录集的最后一行,如果是返回true ,否则返回false。 |
|
public void afterLast(); 该方法的作用是将数据库游标移到记录集的最后,位于记录集最后一行的后面,如果该记录集不包含任何的行该方法不产生作用。 |
|
public void beforeFirst(); 该方法的作用是将数据库游标移到记录集的最前面,位于记录集第一行的前面,如果记录集不包含任何的行该方法不产生作用。 |
|
public boolean isAfterLast(); 该方法检查数据库游标是否处于记录集的最后面,如果是返回true ,否则返回false。 |
|
public boolean isBeforeFirst(); 该方法检查数据库游标是否处于记录集的最前面,如果是返回true ,否则返回false。 |
|
public |
|
public boolean previous(); 该方法的作用是将数据库游标向后移动一位,使得上一行成为当前行. |
3ResultSet 接口添加了对行操作的支持(最令人心动之处)
修
改了的记录集接口(ResultSet
接口)的方法,使它支持可以滚动的记录集,即数据库游标可以在返回的记录集对象中自由地向前或向后滚动,或者定位到某个特殊的行。利用ResultSet
接口中定义的新方法,JSP/Servlet 程序员可以用Java语言来更新记录集,比如插入记录,更新某行的数据,而不是靠执行SQL
语句,这样就大大方便了程序员的开发工作,享受Java编程的乐趣了。
ResultSet 接口中新添加的部分方法如下所示:
|
public boolean rowDeleted(); 如果当前记录集的某行被删除了,那么记录集中将会留出一个空位;调用rowDeleted()方法,如果探测到空位的存在,那么就返回true; 如果没有探测到空位的存在,就返回false 值. |
|
public boolean rowInserted(); 如果当前记录集中插入了一个新行,该方法将返回true ,否则返回false。 |
|
public boolean rowUpdated(); 如果当前记录集的当前行的数据被更新,该方法返回true ,否则返回false。 |
|
public void insertRow(); 该方法将执行插入一个新行到当前记录集的操作。 |
|
public void updateRow(); 该方法将更新当前记录集当前行的数据。 |
|
public void deleteRow(); 该方法将删除当前记录集的当前行。 |
|
public |
|
public void updateString(String columnName ,String x); 该方法和上面介绍的同名方法差不多,不过该方法的第一个参数是columnName ,代表需要更新的列的列名,而不是columnIndex。 |
4.基本操作:
往数据库当前记录集插入新行的操作流程如下:
1 调用moveToInsertRow()方法;
2 调用updateXXX()方法指定插入行各列的值;
3 调用insertRow()方法往数据库中插入新的行。
更新数据库中某个记录的值(某行的值)的方法是:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2
使用相应updateXXX()方法设定某行某列的新值;XXX
所代表的Java数据类型,必须可以映射为某列的JDBC数据类型,如果希望rollback
该项操作,请在调用updateRow()方法以前,使用cancelRowUpdates()方法,这个方法可以将某行某列的值复原;
3 使用updateRow()方法完成UPDATE的操作。
删除记录集中某行(亦即删除某个记录)的方法:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2 使用deleteRow()
删除记录集中某行(亦即删除某个记录)的方法:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2 使用deleteRow()方法.
JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
一、ResultSet接口的介绍:
对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集。
Statement通过以下方法执行一个查询操作:
ResultSet executeQuery(String sql) throws SQLException
单词Query就是查询的意思。函数的返回类型是ResultSet,实际上查询的数据并不在ResultSet里面,依然是在数据库里,ResultSet中的next()方法类似于一个指针,指向查询的结果,然后不断遍历。所以这就要求连接不能断开。
ResultSet接口常用方法:
- boolean next() 遍历时,判断是否有下一个结果
- int getInt(String columnLabel)
- int getInt(int columnIndex)
- Date getDate(String columnLabel)
- Date getDate(int columnIndex)
- String getString(String columnLabel)
- String getString(int columnIndex)
二、ResultSet接口实现查询操作:
步骤如下:(和上一篇博文中的增删改的步骤类似哦)
- 1、加载数据库驱动程序:Class.forName(驱动程序类)
- 2、通过用户名密码和连接地址获取数据库连接对象:DriverManager.getConnection(连接地址,用户名,密码)
- 3、构造查询SQL语句
- 4、创建Statement实例:Statement stmt = conn.createStatement()
- 5、执行查询SQL语句,并返回结果:ResultSet rs = stmt.executeQuery(sql)
- 6、处理结果
- 7、关闭连接:rs.close()、stmt.close()、conn.close()
我们来举个例子吧,来查询下面的这个表:

新建工程JDBC02,依旧先导入jar包。然后新建类,完整版代码如下:
1 package com.vae.jdbc;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7 import java.sql.Statement;
8
9 public class JdbcQuey {
10
11
12 //数据库连接地址
13 private final static String URL = "jdbc:mysql://localhost:3306/JDBCdb";
14 //用户名
15 public final static String USERNAME = "root";
16 //密码
17 public final static String PASSWORD = "smyh";
18 //加载的驱动程序类(这个类就在我们导入的jar包中)
19 public final static String DRIVER = "com.mysql.jdbc.Driver";
20
21 public static void main(String[] args) {
22 // TODO Auto-generated method stub
23 query();
24
25 }
26
27
28 //方法:查询操作
29 public static void query(){
30 try {
31 Class.forName(DRIVER);
32 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
33 String sql = "select id,name,age,description from person";
34 Statement state = conn.createStatement();
35 //执行查询并返回结果集
36 ResultSet rs = state.executeQuery(sql);
37 while(rs.next()){ //通过next来索引:判断是否有下一个记录
38 //rs.getInt("id"); //方法:int java.sql.ResultSet.getInt(String columnLabel) throws SQLException
39 int id = rs.getInt(1); //方法:int java.sql.ResultSet.getInt(int columnIndex) throws SQLException
40
41 String name = rs.getString(2);
42 int age = rs.getInt(3);
43 String description = rs.getString(4);
44 System.out.println("id="+id+",name="+name+",age="+age+",description="+description);
45 }
46 rs.close();
47 state.close();
48 conn.close();
49
50 } catch (ClassNotFoundException e) {
51 e.printStackTrace();
52 } catch (SQLException e) {
53 e.printStackTrace();
54 }
55 }
56 }
关于代码的解释,可以看上一篇博客。上方代码的核心部分是37至45行。
37行:next()函数:通过next来索引,判断是否有下一个记录。一开始就指向内存的首地址,即第一条记录,如果返回值为true,指针会自动指向下一条记录。
38、39行:getInt(String columnLabel)或者getInt(int columnIndex)代表的是列的索引,参数可以是列的名字,也可以用编号来表示,我们一般采用后者。编号的顺序是按照33行sql语句中列的顺序来定的。
程序运行后,后台输出如下:

上一篇博客+以上部分,实现了对数据库的简单增删改查的操作。其实这种拼接的方式很不好:既麻烦又不安全。我们接下来进行改进。
三、使用PreparedStatement重构增删改查(推荐)
概念:表示预编译的SQL语句的对象。SQL语句被预编译并存储在PreparedStatement对象中。然后可以使用此对象多次高效地执行该语句。PreparedStatement是Statement的一个接口。
作用:灵活处理sql语句中的变量。
举例:
以下面的这张数据库表为例:

新建Java工程文件JDBC3。新建一个Person类,方便在主方法里进行操作。Person类的代码如下:
package com.vae.jdbc;
public class Person {
private int id;
private String name;
private int age;
private String description;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Person(int id, String name, int age, String description) {
super();
this.id = id;
this.name = name;
this.age = age;
this.description = description;
}
public Person(String name, int age, String description) {
super();
this.name = name;
this.age = age;
this.description = description;
}
public Person() {
super();
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age
+ ", description=" + description + "]";
}
}
上方是一个简单的Person类,并添加set和get方法以及构造方法,无需多解释。
插入操作:
现在在主类JDBCtest中实现插入操作,完整代码如下:
1 package com.vae.jdbc;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.SQLException;
7
8 public class JDBCtest {
9
10
11 //数据库连接地址
12 public final static String URL = "jdbc:mysql://localhost:3306/JDBCdb";
13 //用户名
14 public final static String USERNAME = "root";
15 //密码
16 public final static String PASSWORD = "smyh";
17 //驱动类
18 public final static String DRIVER = "com.mysql.jdbc.Driver";
19
20
21 public static void main(String[] args) {
22 // TODO Auto-generated method stub
23 Person p = new Person("smyhvae",22,"我是在Java代码中插入的数据");
24 insert(p);
25 }
26
27
28
29 //方法:使用PreparedStatement插入数据
30 public static void insert(Person p){
31
32 try {
33 Class.forName(DRIVER);
34 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
35 String sql = "insert into person(name,age,description)values(?,?,?)";
36 PreparedStatement ps = conn.prepareStatement(sql);
37 //设置占位符对应的值
38 ps.setString(1, p.getName());
39 ps.setInt(2, p.getAge());
40 ps.setString(3, p.getDescription());
41
42 ps.executeUpdate();
43
44 ps.close();
45 conn.close();
46
47
48 } catch (ClassNotFoundException e) {
49 e.printStackTrace();
50 } catch (SQLException e) {
51 e.printStackTrace();
52 }
53 }
54 }
我们来看一下上面的代码是怎么实现代码的优化的:
30行:将整个person对象进去,代表的是数据库中的一条记录。
35行:问号可以理解为占位符,有几个问号就代表要插入几个列,这样看来sql代码就比较简洁。
38至40行:给35行的问号设值,参数1代表第一个问号的位置,以此类推。
然后我们在main主方法中给Person设具体的值(23行),通过insert()方法就插入到数据库中去了。数据库中就多了一条记录:

更新操作:
代码和上方类似,修改操作的方法如下:
1 //方法:使用PreparedStatement更新数据
2 public static void update(Person p){
3 try {
4 Class.forName(DRIVER);
5 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
6 String sql = "update person set name=?,age=?,description=? where id=?";
7 PreparedStatement ps = conn.prepareStatement(sql);
8 //设置占位符对应的值
9 ps.setString(1, p.getName());
10 ps.setInt(2, p.getAge());
11 ps.setString(3, p.getDescription());
12 ps.setInt(4, p.getId());
13
14 ps.executeUpdate();
15
16 ps.close();
17 conn.close();
18
19
20 } catch (ClassNotFoundException e) {
21 e.printStackTrace();
22 } catch (SQLException e) {
23 e.printStackTrace();
24 }
25 }
因为在这里有四个问号的占位符,所以稍后再main方法中记得使用四个参数的Person构造方法,传递四个参数。
删除操作:
代码和上方类似,方法如下:
1 //方法:使用PreparedStatement删除数据
2 public static void delete(int id){
3 try {
4 Class.forName(DRIVER);
5 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
6 String sql = "delete from person where id=?";
7 PreparedStatement ps = conn.prepareStatement(sql);
8 //设置占位符对应的值
9 ps.setInt(1, id);
10
11 ps.executeUpdate();
12
13 ps.close();
14 conn.close();
15
16
17 } catch (ClassNotFoundException e) {
18 e.printStackTrace();
19 } catch (SQLException e) {
20 e.printStackTrace();
21 }
22 }
这里的方法中,传入的参数是是一个id。
查询操作:
1 // 使用PreparedStatement查询数据
2 public static Person findById(int id){
3 Person p = null;
4 try {
5 Class.forName(DRIVER);
6 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
7 String sql = "select name,age,description from person where id=?";
8 PreparedStatement ps = conn.prepareStatement(sql);
9 //设置占位符对应的值
10 ps.setInt(1, id);
11
12 ResultSet rs = ps.executeQuery();
13 if(rs.next()){
14 p = new Person();
15 p.setId(id);
16 p.setName(rs.getString(1));
17 p.setAge(rs.getInt(2));
18 p.setDescription(rs.getString(3));
19 //把 java.sql.Date 与 java.util.Date之间的转换
20 // java.util.Date date = rs.getDate(4);
21 // ps.setDate(4, new java.sql.Date(date.getTime()));
22
23 }
24 rs.close();
25 ps.close();
26 conn.close();
27
28
29 } catch (ClassNotFoundException e) {
30 e.printStackTrace();
31 } catch (SQLException e) {
32 e.printStackTrace();
33 }
34 return p;
35 }
查询操作稍微麻烦一点,在方法中传入的参数是id,方法的返回值是查询的结果,即Person类。
五、PreparedStatement小结:
在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement。也就是说,在任何时候都不要使用Statement。
基于以下的原因:
- 一、代码的可读性和可维护性
- 二、PreparedStatement可以尽最大可能提高性能
- 三、最重要的一点是极大地提高了安全性
如果使用Statement而不使用PreparedStatement,则会造成一个安全性问题:SQL注入
来看一下SQL注入是怎么回事。现在有如下的一张用户名密码表user:

我们在执行如下sql语句进行查询:
select id,name,pwd from user where name='xxx' and pwd = 'x' or '1'='1'
竟能出奇地查到所有的用户名、密码信息:

因为1=1永远是成立的,所以这句话永远都成立。所以在Java代码中,可以利用这个漏洞,将上方的蓝框部分内容当做pwd的变量的内容。来举个反例:使用Statement写一个登陆的操作:
1 //登 录(Statement:会造成SQL注入的安全性问题)
2 public static void login(String name,String pwd){
3 Person p = null;
4 try {
5 Class.forName(DRIVER);
6 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
7 // String sql = "select id,name,pwd from user where name='' and pwd=''";
8
9 StringBuffer sql = new StringBuffer("select id,name,pwd from user where name='");
10 sql.append(name).append("' and pwd='").append(pwd).append("'");
11 Statement ps = conn.createStatement();
12
13 ResultSet rs = ps.executeQuery(sql.toString());
14 if(rs.next()){
15 }
16 rs.close();
17 ps.close();
18 conn.close();
19
20
21 } catch (ClassNotFoundException e) {
22 e.printStackTrace();
23 } catch (SQLException e) {
24 e.printStackTrace();
25 }
26 }
上方代码中的第10行就是采用字符串拼接的方式,就会造成SQL注入的安全性问题。
而如果使用PreparedStatement中包含问号的sql语句,程序就会先对这句sql语句进行判断,就不会出现字符串拼接的现象了。
最后附上本文中,PreparedStatement接口重构增删改查的完整版代码:
1 package com.vae.jdbc;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
8
9 public class JDBCtest {
10
11
12 //数据库连接地址
13 public final static String URL = "jdbc:mysql://localhost:3306/JDBCdb";
14 //用户名
15 public final static String USERNAME = "root";
16 //密码
17 public final static String PASSWORD = "smyh";
18 //驱动类
19 public final static String DRIVER = "com.mysql.jdbc.Driver";
20
21
22 public static void main(String[] args) {
23 // TODO Auto-generated method stub
24 Person p = new Person();
25 //insert(p);
26 //update(p);
27 //delete(3);
28 p = findById(2);
29 System.out.println(p);
30 }
31
32
33 //方法:使用PreparedStatement插入数据
34 public static void insert(Person p){
35
36 try {
37 Class.forName(DRIVER);
38 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
39 String sql = "insert into person(name,age,description)values(?,?,?)";
40 PreparedStatement ps = conn.prepareStatement(sql);
41 //设置占位符对应的值
42 ps.setString(1, p.getName());
43 ps.setInt(2, p.getAge());
44 ps.setString(3, p.getDescription());
45
46 ps.executeUpdate();
47
48 ps.close();
49 conn.close();
50
51
52 } catch (ClassNotFoundException e) {
53 e.printStackTrace();
54 } catch (SQLException e) {
55 e.printStackTrace();
56 }
57 }
58
59
60 //方法:使用PreparedStatement更新数据
61 public static void update(Person p){
62 try {
63 Class.forName(DRIVER);
64 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
65 String sql = "update person set name=?,age=?,description=? where id=?";
66 PreparedStatement ps = conn.prepareStatement(sql);
67 //设置占位符对应的值
68 ps.setString(1, p.getName());
69 ps.setInt(2, p.getAge());
70 ps.setString(3, p.getDescription());
71 ps.setInt(4, p.getId());
72
73 ps.executeUpdate();
74
75 ps.close();
76 conn.close();
77
78
79 } catch (ClassNotFoundException e) {
80 e.printStackTrace();
81 } catch (SQLException e) {
82 e.printStackTrace();
83 }
84 }
85
86
87 //方法:使用PreparedStatement删除数据
88 public static void delete(int id){
89 try {
90 Class.forName(DRIVER);
91 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
92 String sql = "delete from person where id=?";
93 PreparedStatement ps = conn.prepareStatement(sql);
94 //设置占位符对应的值
95 ps.setInt(1, id);
96
97 ps.executeUpdate();
98
99 ps.close();
100 conn.close();
101
102
103 } catch (ClassNotFoundException e) {
104 e.printStackTrace();
105 } catch (SQLException e) {
106 e.printStackTrace();
107 }
108 }
109
110
111 // 使用PreparedStatement查询数据
112 public static Person findById(int id){
113 Person p = null;
114 try {
115 Class.forName(DRIVER);
116 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
117 String sql = "select name,age,description from person where id=?";
118 PreparedStatement ps = conn.prepareStatement(sql);
119 //设置占位符对应的值
120 ps.setInt(1, id);
121
122 ResultSet rs = ps.executeQuery();
123 if(rs.next()){
124 p = new Person();
125 p.setId(id);
126 p.setName(rs.getString(1));
127 p.setAge(rs.getInt(2));
128 p.setDescription(rs.getString(3));
129 //把 java.sql.Date 与 java.util.Date之间的转换
130 // java.util.Date date = rs.getDate(4);
131 // ps.setDate(4, new java.sql.Date(date.getTime()));
132
133 }
134 rs.close();
135 ps.close();
136 conn.close();
137
138
139 } catch (ClassNotFoundException e) {
140 e.printStackTrace();
141 } catch (SQLException e) {
142 e.printStackTrace();
143 }
144 return p;
145 }
146
147
148 }
public interface ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
ResultSet 对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
默认的 ResultSet 对象不可更新,仅有一个向前移动的指针。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。可以生成可滚动和/或可更新的 ResultSet 对象。以下代码片段(其中 con 为有效的 Connection 对象)演示了如何生成可滚动且不受其他更新影响的、可更新的结果集。请参阅 ResultSet 字段以了解其他选项。
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
ResultSet 接口提供用于从当前行检索列值的获取方法(getBoolean、getLong 等)。可以使用列的索引编号或列的名称检索值。一般情况下,使用列索引较为高效。列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,而且每列只能读取一次。
对于获取方法,JDBC 驱动程序尝试将基础数据转换为在获取方法中指定的 Java 类型,并返回适当的 Java 值。JDBC 规范有一个表,显示允许的从 SQL 类型到供 ResultSet 获取方法使用的 Java 类型的映射关系。
用作获取方法的输入的列名称不区分大小写。用列名称调用获取方法时,如果多个列具有这一名称,则返回第一个匹配列的值。列名称选项在生成结果集的 SQL 查询中使用列名称时使用。对于没有在查询中显式命名的列,最好使用列编号。如果使用列名称,程序员无法保证名称实际所指的就是预期的列。
在 JDBC 2.0 API (JDK 1.2) 中,此接口添加了一组更新方法。关于获取方法参数的注释同样适用于更新方法的参数。
可以用以下两种方式使用更新方法:
- 更新当前行中的列值。在可滚动的
ResultSet对象中,可以向前和向后移动指针,将其置于绝对位置或相对于当前行的位置。以下代码片段更新ResultSet对象rs的第五行中的NAME列,然后使用方法updateRow更新用于派生rs的数据源表。rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //NAMEcolumn of row 5 to beAINSWORTHrs.updateRow(); // updates the row in the data source - 将列值插入到插入行中。可更新的
ResultSet对象具有一个与其关联的特殊行,该行用作构建要插入的行的暂存区域 (staging area)。以下代码片段将指针移动到插入行,构建一个三列的行,并使用方法insertRow将其插入到rs和数据源表中。rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to beAINSWORTHrs.updateInt(2,35); // updates the second column to be35rs.updateBoolean(3, true); // updates the third column totruers.insertRow(); rs.moveToCurrentRow();
当生成 ResultSet 对象的 Statement 对象关闭、重新执行或用来从多个结果的序列检索下一个结果时,ResultSet 对象会自动关闭。
ResultSet 对象的列的编号、类型和属性由 ResultSet.getMetaData 方法返回的 ResulSetMetaData 对象提供。
| 字段摘要 | |
|---|---|
static int |
CLOSE_CURSORS_AT_COMMIT 该常量指示调用 Connection.commit 方法时应该关闭 ResultSet 对象。 |
static int |
CONCUR_READ_ONLY 该常量指示不可以更新的 ResultSet 对象的并发模式。 |
static int |
CONCUR_UPDATABLE 该常量指示可以更新的 ResultSet 对象的并发模式。 |
static int |
FETCH_FORWARD 该常量指示将按正向(即从第一个到最后一个)处理结果集中的行。 |
static int |
FETCH_REVERSE 该常量指示将按反向(即从最后一个到第一个)处理结果集中的行处理。 |
static int |
FETCH_UNKNOWN 该常量指示结果集中的行的处理顺序未知。 |
static int |
HOLD_CURSORS_OVER_COMMIT 该常量指示调用 Connection.commit 方法时不应关闭 ResultSet 对象。 |
static int |
TYPE_FORWARD_ONLY 该常量指示指针只能向前移动的 ResultSet 对象的类型。 |
static int |
TYPE_SCROLL_INSENSITIVE 该常量指示可滚动但通常不受其他的更改影响的 ResultSet 对象的类型。 |
static int |
TYPE_SCROLL_SENSITIVE 该常量指示可滚动并且通常受其他的更改影响的 ResultSet 对象的类型。 |
| 方法摘要 | |
|---|---|
boolean |
absolute(int row) 将指针移动到此 ResultSet 对象的给定行编号。 |
void |
afterLast() 将指针移动到此 ResultSet 对象的末尾,正好位于最后一行之后。 |
void |
beforeFirst() 将指针移动到此 ResultSet 对象的开头,正好位于第一行之前。 |
void |
cancelRowUpdates() 取消对 ResultSet 对象中的当前行所作的更新。 |
void |
clearWarnings() 清除在此 ResultSet 对象上报告的所有警告。 |
void |
close() 立即释放此 ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。 |
void |
deleteRow() 从此 ResultSet 对象和底层数据库中删除当前行。 |
int |
findColumn(String columnName) 将给定的 ResultSet 列名称映射到其 ResultSet 列索引。 |
boolean |
first() 将指针移动到此 ResultSet 对象的第一行。 |
Array |
getArray(int i) 以 Java 编程语言中 Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Array |
getArray(String colName) 以 Java 编程语言中 Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getAsciiStream(int columnIndex) 以 ASCII 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getAsciiStream(String columnName) 以 ASCII 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex) 以具有全精度的 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex, int scale) 已过时。 |
BigDecimal |
getBigDecimal(String columnName) 以具有全精度的 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(String columnName, int scale) 已过时。 |
InputStream |
getBinaryStream(int columnIndex) 以未解释字节的二进制流的形式检索此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getBinaryStream(String columnName) 以未解释的 byte 流的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Blob |
getBlob(int i) 以 Java 编程语言中 Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Blob |
getBlob(String colName) 以 Java 编程语言中 Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
boolean |
getBoolean(int columnIndex) 以 Java 编程语言中 boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
boolean |
getBoolean(String columnName) 以 Java 编程语言中 boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
byte |
getByte(int columnIndex) 以 Java 编程语言中 byte 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
byte |
getByte(String columnName) 以 Java 编程语言中 byte 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
byte[] |
getBytes(int columnIndex) 以 Java 编程语言中 byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。 |
byte[] |
getBytes(String columnName) 以 Java 编程语言中 byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Reader |
getCharacterStream(int columnIndex) 以 java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Reader |
getCharacterStream(String columnName) 以 java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Clob |
getClob(int i) 以 Java 编程语言中 Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Clob |
getClob(String colName) 以 Java 编程语言中 Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getConcurrency() 检索此 ResultSet 对象的并发模式。 |
String |
getCursorName() 检索此 ResultSet 对象使用的 SQL 指针的名称。 |
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 对象的当前行中指定列的值。 |
Date |
getDate(String columnName, Calendar cal) 以 Java 编程语言中 java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
double |
getDouble(int columnIndex) 以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
double |
getDouble(String columnName) 以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getFetchDirection() 检索此 ResultSet 对象的获取方向。 |
int |
getFetchSize() 检索此 ResultSet 对象的获取大小。 |
float |
getFloat(int columnIndex) 以 Java 编程语言中 float 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
float |
getFloat(String columnName) 以 Java 编程语言中 float 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getInt(int columnIndex) 以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getInt(String columnName) 以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
long |
getLong(int columnIndex) 以 Java 编程语言中 long 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
long |
getLong(String columnName) 以 Java 编程语言中 long 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
ResultSetMetaData |
getMetaData() 检索此 ResultSet 对象的列的编号、类型和属性。 |
Object |
getObject(int columnIndex) 以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(int i, Map<String,Class<?>> map) 以 Java 编程语言中 Object 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(String columnName) 以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(String colName, Map<String,Class<?>> map) 以 Java 编程语言中 Object 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Ref |
getRef(int i) 以 Java 编程语言中 Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Ref |
getRef(String colName) 以 Java 编程语言中 Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getRow() 检索当前行编号。 |
short |
getShort(int columnIndex) 以 Java 编程语言中 short 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
short |
getShort(String columnName) 以 Java 编程语言中 short 的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Statement |
getStatement() 检索生成此 ResultSet 对象的 Statement 对象。 |
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(int columnIndex, Calendar cal) 以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Time |
getTime(String columnName) 以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Time |
getTime(String columnName, Calendar cal) 以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex) 以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex, Calendar cal) 以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName) 以 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName, Calendar cal) 以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
int |
getType() 检索此 ResultSet 对象的类型。 |
InputStream |
getUnicodeStream(int columnIndex) 已过时。 使用 getCharacterStream 取代 getUnicodeStream |
InputStream |
getUnicodeStream(String columnName) 已过时。 使用 getCharacterStream 代替 |
URL |
getURL(int columnIndex) 以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
URL |
getURL(String columnName) 以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 |
SQLWarning |
getWarnings() 检索此 ResultSet 对象上的调用报告的第一个警告。 |
void |
insertRow() 将插入行的内容插入到此 ResultSet 对象和数据库中。 |
boolean |
isAfterLast() 检索指针是否位于此 ResultSet 对象的最后一行之后。 |
boolean |
isBeforeFirst() 检索指针是否位于此 ResultSet 对象的第一行之前。 |
boolean |
isFirst() 检索指针是否位于此 ResultSet 对象的第一行。 |
boolean |
isLast() 检索指针是否位于此 ResultSet 对象的最后一行。 |
boolean |
last() 将指针移动到此 ResultSet 对象的最后一行。 |
void |
moveToCurrentRow() 将指针移动到记住的指针位置,通常为当前行。 |
void |
moveToInsertRow() 将指针移动到插入行。 |
boolean |
next() 将指针从当前位置下移一行。 |
boolean |
previous() 将指针移动到此 ResultSet 对象的上一行。 |
void |
refreshRow() 用数据库中的最近值刷新当前行。 |
boolean |
relative(int rows) 按相对行数(或正或负)移动指针。 |
boolean |
rowDeleted() 检索是否已删除某行。 |
boolean |
rowInserted() 检索当前行是否已有插入。 |
boolean |
rowUpdated() 检索是否已更新当前行。 |
void |
setFetchDirection(int direction) 设置此 ResultSet 对象中行的处理方向。 |
void |
setFetchSize(int rows) 为 JDBC 驱动程序设置此 ResultSet 对象需要更多行时应该从数据库获取的行数。 |
void |
updateArray(int columnIndex, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateArray(String columnName, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateAsciiStream(int columnIndex, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateAsciiStream(String columnName, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateBigDecimal(int columnIndex, BigDecimal x) 用 java.math.BigDecimal 值更新指定列。 |
void |
updateBigDecimal(String columnName, BigDecimal x) 用 java.sql.BigDecimal 值更新指定列。 |
void |
updateBinaryStream(int columnIndex, InputStream x, int length) 用二进制流值更新指定列。 |
void |
updateBinaryStream(String columnName, InputStream x, int length) 用二进制流值更新指定列。 |
void |
updateBlob(int columnIndex, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBlob(String columnName, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBoolean(int columnIndex, boolean x) 用 boolean 值更新指定列。 |
void |
updateBoolean(String columnName, boolean x) 用 boolean 值更新指定列。 |
void |
updateByte(int columnIndex, byte x) 用 byte 值更新指定列。 |
void |
updateByte(String columnName, byte x) 用 byte 值更新指定列。 |
void |
updateBytes(int columnIndex, byte[] x) 用 byte 数组值更新指定列。 |
void |
updateBytes(String columnName, byte[] x) 用字节数组值更新指定列。 |
void |
updateCharacterStream(int columnIndex, Reader x, int length) 用字符流值更新指定列。 |
void |
updateCharacterStream(String columnName, Reader reader, int length) 用字符流值更新指定列。 |
void |
updateClob(int columnIndex, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateClob(String columnName, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateDate(int columnIndex, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDate(String columnName, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDouble(int columnIndex, double x) 用 double 值更新指定列。 |
void |
updateDouble(String columnName, double x) 用 double 值更新指定列。 |
void |
updateFloat(int columnIndex, float x) 用 float 值更新指定列。 |
void |
updateFloat(String columnName, float x) 用 float 值更新指定列。 |
void |
updateInt(int columnIndex, int x) 用 int 值更新指定列。 |
void |
updateInt(String columnName, int x) 用 int 值更新指定列。 |
void |
updateLong(int columnIndex, long x) 用 long 值更新指定列。 |
void |
updateLong(String columnName, long x) 用 long 值更新指定列。 |
void |
updateNull(int columnIndex) 为可以为 null 的列提供 null 值。 |
void |
updateNull(String columnName) 用 null 值更新指定列。 |
void |
updateObject(int columnIndex, Object x) 用 Object 值更新指定列。 |
void |
updateObject(int columnIndex, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateRef(int columnIndex, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRef(String columnName, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRow() 用此 ResultSet 对象的当前行的新内容更新底层数据库。 |
void |
updateShort(int columnIndex, short x) 用 short 值更新指定列。 |
void |
updateShort(String columnName, short x) 用 short 值更新指定列。 |
void |
updateString(int columnIndex, String x) 用 String 值更新指定列。 |
void |
updateString(String columnName, String x) 用 String 值更新指定列。 |
void |
updateTime(int columnIndex, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTime(String columnName, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTimestamp(int columnIndex, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
void |
updateTimestamp(String columnName, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
boolean |
wasNull() 报告最后一个读取的列是否具有值 SQL NULL。 |
| 字段详细信息 |
|---|
FETCH_FORWARD
static final int FETCH_FORWARD
- 该常量指示将按正向(即从第一个到最后一个)处理结果集中的行。
setFetchDirection方法将此常量用作驱动程序的提示,驱动程序可能忽略它。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
FETCH_REVERSE
static final int FETCH_REVERSE
- 该常量指示将按反向(即从最后一个到第一个)处理结果集中的行处理。
setFetchDirection方法将此常量用作驱动程序的提示,驱动程序可能忽略它。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
FETCH_UNKNOWN
static final int FETCH_UNKNOWN
- 该常量指示结果集中的行的处理顺序未知。
setFetchDirection方法将此常量用作驱动程序的提示,驱动程序可能忽略它。- 另请参见:
- 常量字段值
TYPE_FORWARD_ONLY
static final int TYPE_FORWARD_ONLY
- 该常量指示指针只能向前移动的
ResultSet对象的类型。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
TYPE_SCROLL_INSENSITIVE
static final int TYPE_SCROLL_INSENSITIVE
- 该常量指示可滚动但通常不受其他的更改影响的
ResultSet对象的类型。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
TYPE_SCROLL_SENSITIVE
static final int TYPE_SCROLL_SENSITIVE
- 该常量指示可滚动并且通常受其他的更改影响的
ResultSet对象的类型。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
CONCUR_READ_ONLY
static final int CONCUR_READ_ONLY
- 该常量指示不可以更新的
ResultSet对象的并发模式。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
CONCUR_UPDATABLE
static final int CONCUR_UPDATABLE
- 该常量指示可以更新的
ResultSet对象的并发模式。- 从以下版本开始:
- 1.2
- 另请参见:
- 常量字段值
HOLD_CURSORS_OVER_COMMIT
static final int HOLD_CURSORS_OVER_COMMIT
- 该常量指示调用
Connection.commit方法时不应关闭ResultSet对象。- 从以下版本开始:
- 1.4
- 另请参见:
- 常量字段值
CLOSE_CURSORS_AT_COMMIT
static final int CLOSE_CURSORS_AT_COMMIT
- 该常量指示调用
Connection.commit方法时应该关闭ResultSet对象。- 从以下版本开始:
- 1.4
- 另请参见:
- 常量字段值
| 方法详细信息 |
|---|
next
boolean next()
throws SQLException
- 将指针从当前位置下移一行。
ResultSet指针最初位于第一行之前;第一次调用next方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。如果开启了对当前行的输入流,则调用
next方法将隐式关闭它。读取新行时,将清除ResultSet对象的警告链。 -
- 返回:
- 如果新的当前行有效,则返回
true;如果不存在下一行,则返回false - 抛出:
SQLException- 如果发生数据库访问错误
close
void close()
throws SQLException
- 立即释放此
ResultSet对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。注:当生成
ResultSet对象的Statement对象关闭、重新执行或用来从多个结果的序列检索下一个结果时,该Statement对象会自动关闭ResultSet对象。垃圾回收ResultSet对象时它也会自动关闭。 -
- 抛出:
SQLException- 如果发生数据库访问错误
wasNull
boolean wasNull()
throws SQLException
- 报告最后一个读取的列是否具有值 SQL
NULL。注意,必须首先对列调用一个获取方法来尝试读取其值,然后调用wasNull方法查看读取的值是否为 SQLNULL。 -
- 返回:
- 如果最后一个读取的列值为 SQL
NULL,则返回true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误
getString
String getString(int columnIndex) throws SQLException
- 以 Java 编程语言中
String的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getBoolean
boolean getBoolean(int columnIndex)
throws SQLException
- 以 Java 编程语言中
boolean的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为false - 抛出:
SQLException- 如果发生数据库访问错误
getByte
byte getByte(int columnIndex)
throws SQLException
- 以 Java 编程语言中
byte的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getShort
short getShort(int columnIndex)
throws SQLException
- 以 Java 编程语言中
short的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getInt
int getInt(int columnIndex)
throws SQLException
- 以 Java 编程语言中
int的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getLong
long getLong(int columnIndex)
throws SQLException
- 以 Java 编程语言中
long的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getFloat
float getFloat(int columnIndex)
throws SQLException
- 以 Java 编程语言中
float的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getDouble
double getDouble(int columnIndex)
throws SQLException
- 以 Java 编程语言中
double的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getBigDecimal
@Deprecated BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
- 已过时。
- 以 Java 编程语言中
java.sql.BigDecimal的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……scale- 小数点右边的位数- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getBytes
byte[] getBytes(int columnIndex)
throws SQLException
- 以 Java 编程语言中
byte数组的形式检索此ResultSet对象的当前行中指定列的值。这些字节表示驱动程序返回的原始值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getDate
Date getDate(int columnIndex) throws SQLException
- 以 Java 编程语言中
java.sql.Date对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getTime
Time getTime(int columnIndex) throws SQLException
- 以 Java 编程语言中
java.sql.Time对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getTimestamp
Timestamp getTimestamp(int columnIndex) throws SQLException
- 以 Java 编程语言中
java.sql.Timestamp对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getAsciiStream
InputStream getAsciiStream(int columnIndex) throws SQLException
- 以 ASCII 字符流的形式检索此
ResultSet对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARCHAR 值。JDBC 驱动程序将执行从数据库格式到 ASCII 的任何必要转换。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
InputStream.available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 以一字节 ASCII 字符流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getUnicodeStream
@Deprecated InputStream getUnicodeStream(int columnIndex) throws SQLException
- 已过时。 使用
getCharacterStream取代getUnicodeStream - 以两字节 Unicode 字符流的形式检索此
ResultSet对象的当前行中指定列的值。第一个字节是高字节;第二个字节是低字节。然后,可以按块从流中读取值。此方法尤其适合于检索很大的LONGVARCHAR值。JDBC 驱动程序将执行从数据库格式到 Unicode 的任何必要转换。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
InputStream.available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 以两字节 Unicode 字符流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getBinaryStream
InputStream getBinaryStream(int columnIndex) throws SQLException
- 以未解释字节的二进制流的形式检索此
ResultSet对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的LONGVARBINARY值。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
InputStream.available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 以未解释字节的流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getString
String getString(String columnName) throws SQLException
- 以 Java 编程语言中
String的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getBoolean
boolean getBoolean(String columnName) throws SQLException
- 以 Java 编程语言中
boolean的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为false - 抛出:
SQLException- 如果发生数据库访问错误
getByte
byte getByte(String columnName) throws SQLException
- 以 Java 编程语言中
byte的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getShort
short getShort(String columnName) throws SQLException
- 以 Java 编程语言中
short的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getInt
int getInt(String columnName) throws SQLException
- 以 Java 编程语言中
int的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getLong
long getLong(String columnName) throws SQLException
- 以 Java 编程语言中
long的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getFloat
float getFloat(String columnName) throws SQLException
- 以 Java 编程语言中
float的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getDouble
double getDouble(String columnName) throws SQLException
- 以 Java 编程语言中
double的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为0 - 抛出:
SQLException- 如果发生数据库访问错误
getBigDecimal
@Deprecated BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
- 已过时。
- 以 Java 编程语言中
java.math.BigDecimal的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称scale- 小数点右边的位数- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getBytes
byte[] getBytes(String columnName) throws SQLException
- 以 Java 编程语言中
byte数组的形式检索此ResultSet对象的当前行中指定列的值。这些字节表示驱动程序返回的原始值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getDate
Date getDate(String columnName) throws SQLException
- 以 Java 编程语言中的
java.sql.Date对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getTime
Time getTime(String columnName) throws SQLException
- 以 Java 编程语言中
java.sql.Time对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getTimestamp
Timestamp getTimestamp(String columnName) throws SQLException
- 以
java.sql.Timestamp对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 列值;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getAsciiStream
InputStream getAsciiStream(String columnName) throws SQLException
- 以 ASCII 字符流的形式检索此
ResultSet对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的LONGVARCHAR值。JDBC 驱动程序将执行从数据库格式到 ASCII 的任何必要转换。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 以一字节 ASCII 字符流的形式返回传递数据库列值的 Java 输入流。如果值为 SQL
NULL,则返回值为null。 - 抛出:
SQLException- 如果发生数据库访问错误
getUnicodeStream
@Deprecated InputStream getUnicodeStream(String columnName) throws SQLException
- 已过时。 使用
getCharacterStream代替 - 以两字节 Unicode 字符流的形式检索此
ResultSet对象的当前行中指定列的值。第一个字节是高字节;第二个字节是低字节。然后,可以按块从流中读取值。此方法尤其适合于检索很大的LONGVARCHAR值。采用 JDBC 技术的驱动程序将执行从数据库格式到 Unicode 的任何必要转换。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
InputStream.available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 以两字节 Unicode 字符流的形式返回传递数据库列值的 Java 输入流。如果值为 SQL
NULL,则返回值为null。 - 抛出:
SQLException- 如果发生数据库访问错误
getBinaryStream
InputStream getBinaryStream(String columnName) throws SQLException
- 以未解释的
byte流的形式检索此ResultSet对象的当前行中指定列的值。然后可以按块从流中读取该值。此方法尤其适合于检索很大的LONGVARBINARY值。注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用
available方法时,不管是否存在可用数据,流都可能返回0。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 以未解释字节流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL
NULL,则返回值为null - 抛出:
SQLException- 如果发生数据库访问错误
getWarnings
SQLWarning getWarnings() throws SQLException
- 检索此
ResultSet对象上的调用报告的第一个警告。此ResultSet对象上的后续警告会被链接到此方法返回的SQLWarning对象。每次读取新行时,都会自动清除警告链。不可以在已经关闭的
ResultSet对象上调用此方法;这样做将导致抛出SQLException。注:此警告链仅包含
ResultSet方法产生的警告。Statement方法(如读取 OUT 参数)产生的任何警告都将链接在Statement对象上。 -
- 返回:
- 报告的第一个
SQLWarning对象;如果不存在,则返回null - 抛出:
SQLException- 如果发生数据库访问错误或者在关闭的结果集上调用此方法
clearWarnings
void clearWarnings()
throws SQLException
- 清除在此
ResultSet对象上报告的所有警告。调用此方法后,在为此ResultSet对象报告新的警告之前,getWarnings方法将返回null。 -
- 抛出:
SQLException- 如果发生数据库访问错误
getCursorName
String getCursorName() throws SQLException
- 检索此
ResultSet对象使用的 SQL 指针的名称。在 SQL 中,通过命名的指针检索结果表。通过一个引用指针名称来确定位置的更新/删除语句,可以更新或删除结果集的当前行。为了确保指针具有支持更新的适当隔离级别,指针的
SELECT语句的形式应该为SELECT FOR UPDATE。如果省略FOR UPDATE,则定位更新可能失败。JDBC API 通过提供
ResultSet对象使用的 SQL 指针的名称支持此 SQL 功能。ResultSet对象的当前行也是此 SQL 指针的当前行。注:如果不支持定位更新,则抛出
SQLException。 -
- 返回:
- 此
ResultSet对象的指针的 SQL 名称 - 抛出:
SQLException- 如果发生数据库访问错误
getMetaData
ResultSetMetaData getMetaData() throws SQLException
- 检索此
ResultSet对象的列的编号、类型和属性。 -
- 返回:
- 此
ResultSet对象的列的描述 - 抛出:
SQLException- 如果发生数据库访问错误
getObject
Object getObject(int columnIndex) throws SQLException
-
以 Java 编程语言中
Object的形式获取此ResultSet对象的当前行中指定列的值。此方法将以 Java 对象的形式返回给定列的值。Java 对象的类型将为与该列的 SQL 类型相对应的默认 Java 对象类型,它遵守在 JDBC 规范中指定的内置类型的映射关系。如果值为 SQL
NULL,则驱动程序返回一个 Javanull。此方法还可用于读取特定于数据库的抽象数据类型。在 JDBC 2.0 API 中,可以扩展
getObject方法的行为来实现 SQL 自定义类型的数据。当列包含结构化的或独特的值时,此方法的行为类似于调用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 保存列值的
java.lang.Object - 抛出:
SQLException- 如果发生数据库访问错误
getObject
Object getObject(String columnName) throws SQLException
-
以 Java 编程语言中
Object的形式获取此ResultSet对象的当前行中指定列的值。此方法将以 Java 对象的形式返回给定列的值。Java 对象的类型将为与该列的 SQL 类型相对应的默认 Java 对象类型,它遵守在 JDBC 规范中指定的内置类型的映射关系。如果值为 SQL
NULL,则驱动程序返回一个 Javanull。此方法还可用于读取特定于数据库的抽象数据类型。
在 JDBC 2.0 API 中,可以扩展
getObject方法的行为来实现 SQL 自定义类型的数据。当列包含结构化的或独特的值时,此方法的行为类似于调用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
- 保存列值的
java.lang.Object - 抛出:
SQLException- 如果发生数据库访问错误
findColumn
int findColumn(String columnName) throws SQLException
- 将给定的
ResultSet列名称映射到其ResultSet列索引。 -
- 参数:
columnName- 列的名称- 返回:
- 给定列名称的列索引
- 抛出:
SQLException- 如果ResultSet对象不包含columnName或者发生数据库访问错误
getCharacterStream
Reader getCharacterStream(int columnIndex) throws SQLException
- 以
java.io.Reader对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 包含列值的
java.io.Reader对象;如果值为 SQLNULL,则返回值为 Java 编程语言中的null。 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getCharacterStream
Reader getCharacterStream(String columnName) throws SQLException
- 以
java.io.Reader对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的名称- 返回:
- 包含列值的
java.io.Reader对象;如果值为 SQLNULL,则返回值为 Java 编程语言中的null - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(int columnIndex) throws SQLException
- 以具有全精度的
java.math.BigDecimal的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 返回:
- 列值(全精度);如果值为 SQL
NULL,则返回值为 Java 编程语言中的null。 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(String columnName) throws SQLException
- 以具有全精度的
java.math.BigDecimal的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列名称- 返回:
- 列值(全精度);如果值为 SQL
NULL,则返回值为 Java 编程语言中的null。 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
isBeforeFirst
boolean isBeforeFirst()
throws SQLException
- 检索指针是否位于此
ResultSet对象的第一行之前。 -
- 返回:
- 如果指针位于第一行之前,则返回
true;如果指针位于任何其他位置或者结果集不包含任何行,则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
isAfterLast
boolean isAfterLast()
throws SQLException
- 检索指针是否位于此
ResultSet对象的最后一行之后。 -
- 返回:
- 如果指针位于最后一行之后,则返回
true;如果指针位于任何其他位置或者结果集不包含任何行,则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
isFirst
boolean isFirst()
throws SQLException
- 检索指针是否位于此
ResultSet对象的第一行。 -
- 返回:
- 如果指针位于第一行,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
isLast
boolean isLast()
throws SQLException
- 检索指针是否位于此
ResultSet对象的最后一行。注:调用isLast方法可能开销很大,因为 JDBC 驱动程序可能需要再往后获取一行,以确定当前行是否为结果集中的最后一行。 -
- 返回:
- 如果指针位于最后一行上,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
beforeFirst
void beforeFirst()
throws SQLException
- 将指针移动到此
ResultSet对象的开头,正好位于第一行之前。如果结果集中不包含任何行,则此方法无效。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
afterLast
void afterLast()
throws SQLException
- 将指针移动到此
ResultSet对象的末尾,正好位于最后一行之后。如果结果集中不包含任何行,则此方法无效。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
first
boolean first()
throws SQLException
- 将指针移动到此
ResultSet对象的第一行。 -
- 返回:
- 如果指针位于有效行,则返回
true;如果结果集中不存在任何行,则返回false - 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
last
boolean last()
throws SQLException
- 将指针移动到此
ResultSet对象的最后一行。 -
- 返回:
- 如果指针位于有效行,则返回
true;如果结果集中不存在任何行,则返回false - 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
getRow
int getRow()
throws SQLException
- 检索当前行编号。第一行为 1 号,第二行为 2 号,依此类推。
-
- 返回:
- 当前行的编号;如果不存在当前行,则返回
0 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
absolute
boolean absolute(int row)
throws SQLException
- 将指针移动到此
ResultSet对象的给定行编号。如果行编号为正,则将指针移动到相对于结果集开头的给定行编号。第一行为行 1,第二行为行 2,依此类推。
如果给定行编号为负,则将指针移动到相对于结果集末尾的绝对行位置。例如,调用方法
absolute(-1)将指针置于最后一行;调用方法absolute(-2)将指针移动到倒数第二行,依此类推。试图将指针置于结果集的第一行/最后一行之外将导致指针位于第一行之前或最后一行之后。
注:调用
absolute(1)等效于调用first()。调用absolute(-1)等效于调用last()。 -
- 参数:
row- 指针应该移动到的行的编号。正的编号指示从结果集开头开始计数的行编号;负的编号指示从结果集末尾开始计数的行编号- 返回:
- 如果指针位于结果集上,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
relative
boolean relative(int rows)
throws SQLException
- 按相对行数(或正或负)移动指针。试图移动到结果集的第一行/最后一行之外,会将指针置于第一行之前或最后一行之后。调用
relative(0)有效,但是不更改指针位置。注:调用方法
relative(1)等效于调用方法next(),而调用方法relative(-1)等效于调用方法previous()。 -
- 参数:
rows- 指定从当前行开始移动的行数的int;正数表示指针向前移动;负数表示指针向后移动- 返回:
- 如果指针位于行上,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误、不存在当前行或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
previous
boolean previous()
throws SQLException
- 将指针移动到此
ResultSet对象的上一行。 -
- 返回:
- 如果指针位于有效行上,则返回
true;如果它不在结果集中,则返回false - 抛出:
SQLException- 如果发生数据库访问错误或者结果集类型为TYPE_FORWARD_ONLY- 从以下版本开始:
- 1.2
setFetchDirection
void setFetchDirection(int direction)
throws SQLException
- 设置此
ResultSet对象中行的处理方向。初始值由生成此ResultSet对象的Statement对象确定。获取方向可以在任何时间更改。 -
- 参数:
direction- 指定建议获取方向的int;ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE或ResultSet.FETCH_UNKNOWN之一- 抛出:
SQLException- 如果发生数据库访问错误,或者结果集类型为TYPE_FORWARD_ONLY但获取方向不是FETCH_FORWARD- 从以下版本开始:
- 1.2
- 另请参见:
Statement.setFetchDirection(int),getFetchDirection()
getFetchDirection
int getFetchDirection()
throws SQLException
- 检索此
ResultSet对象的获取方向。 -
- 返回:
- 此
ResultSet对象的当前获取方向 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
- 另请参见:
setFetchDirection(int)
setFetchSize
void setFetchSize(int rows)
throws SQLException
- 为 JDBC 驱动程序设置此
ResultSet对象需要更多行时应该从数据库获取的行数。如果指定的获取大小为零,则 JDBC 驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。默认值由创建结果集的Statement对象设置。获取大小可以在任何时间更改。 -
- 参数:
rows- 要获取的行数- 抛出:
SQLException- 如果发生数据库访问错误或者不满足条件0 <= rows <= Statement.getMaxRows()- 从以下版本开始:
- 1.2
- 另请参见:
getFetchSize()
getFetchSize
int getFetchSize()
throws SQLException
- 检索此
ResultSet对象的获取大小。 -
- 返回:
- 此
ResultSet对象的当前获取大小 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
- 另请参见:
setFetchSize(int)
getType
int getType()
throws SQLException
- 检索此
ResultSet对象的类型。类型由创建结果集的Statement对象确定。 -
- 返回:
ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getConcurrency
int getConcurrency()
throws SQLException
- 检索此
ResultSet对象的并发模式。使用的并发由创建结果集的Statement对象确定。 -
- 返回:
- 并发类型,
ResultSet.CONCUR_READ_ONLY或ResultSet.CONCUR_UPDATABLE - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
rowUpdated
boolean rowUpdated()
throws SQLException
- 检索是否已更新当前行。返回值取决于结果集是否可以检测到更新。
-
- 返回:
- 如果 (1) 所有者或其他人已对行进行可见更新 (2) 可以检测到更新都成立,则返回
true - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
- 另请参见:
DatabaseMetaData.updatesAreDetected(int)
rowInserted
boolean rowInserted()
throws SQLException
- 检索当前行是否已有插入。返回值取决于此
ResultSet对象是否可以检测到可见插入。 -
- 返回:
- 如果行已有插入并且检测到插入,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
- 另请参见:
DatabaseMetaData.insertsAreDetected(int)
rowDeleted
boolean rowDeleted()
throws SQLException
- 检索是否已删除某行。删除的行可能在结果集中留下一个可见的“洞”。此方法可用于检测结果集中的洞。返回值取决于此
ResultSet对象是否可以检测到删除。 -
- 返回:
- 如果删除了行并且检测到删除,则返回
true;否则返回false - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
- 另请参见:
DatabaseMetaData.deletesAreDetected(int)
updateNull
void updateNull(int columnIndex)
throws SQLException
- 为可以为 null 的列提供 null 值。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBoolean
void updateBoolean(int columnIndex,
boolean x)
throws SQLException
- 用
boolean值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateByte
void updateByte(int columnIndex,
byte x)
throws SQLException
- 用
byte值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateShort
void updateShort(int columnIndex,
short x)
throws SQLException
- 用
short值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateInt
void updateInt(int columnIndex,
int x)
throws SQLException
- 用
int值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateLong
void updateLong(int columnIndex,
long x)
throws SQLException
- 用
long值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会不更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateFloat
void updateFloat(int columnIndex,
float x)
throws SQLException
- 用
float值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateDouble
void updateDouble(int columnIndex,
double x)
throws SQLException
- 用
double值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBigDecimal
void updateBigDecimal(int columnIndex,
BigDecimal x)
throws SQLException
- 用
java.math.BigDecimal值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateString
void updateString(int columnIndex,
String x)
throws SQLException
- 用
String值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBytes
void updateBytes(int columnIndex,
byte[] x)
throws SQLException
- 用
byte数组值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateDate
void updateDate(int columnIndex,
Date x)
throws SQLException
- 用
java.sql.Date值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateTime
void updateTime(int columnIndex,
Time x)
throws SQLException
- 用
java.sql.Time值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateTimestamp
void updateTimestamp(int columnIndex,
Timestamp x)
throws SQLException
- 用
java.sql.Timestamp值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateAsciiStream
void updateAsciiStream(int columnIndex,
InputStream x,
int length)
throws SQLException
- 用 ascii 流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBinaryStream
void updateBinaryStream(int columnIndex,
InputStream x,
int length)
throws SQLException
- 用二进制流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateCharacterStream
void updateCharacterStream(int columnIndex,
Reader x,
int length)
throws SQLException
- 用字符流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateObject
void updateObject(int columnIndex,
Object x,
int scale)
throws SQLException
- 用
Object值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值scale- 对于java.sql.Types.DECIMA或java.sql.Types.NUMERIC类型,此参数是小数点后面的位数。对于其他所有类型,将忽略此值。- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateObject
void updateObject(int columnIndex,
Object x)
throws SQLException
- 用
Object值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateNull
void updateNull(String columnName) throws SQLException
- 用
null值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBoolean
void updateBoolean(String columnName, boolean x) throws SQLException
- 用
boolean值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateByte
void updateByte(String columnName, byte x) throws SQLException
- 用
byte值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateShort
void updateShort(String columnName, short x) throws SQLException
- 用
short值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateInt
void updateInt(String columnName, int x) throws SQLException
- 用
int值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateLong
void updateLong(String columnName, long x) throws SQLException
- 用
long值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateFloat
void updateFloat(String columnName, float x) throws SQLException
- 用
float值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateDouble
void updateDouble(String columnName, double x) throws SQLException
- 用
double值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBigDecimal
void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
- 用
java.sql.BigDecimal值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateString
void updateString(String columnName, String x) throws SQLException
- 用
String值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBytes
void updateBytes(String columnName, byte[] x) throws SQLException
- 用字节数组值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateDate
void updateDate(String columnName, Date x) throws SQLException
- 用
java.sql.Date值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateTime
void updateTime(String columnName, Time x) throws SQLException
- 用
java.sql.Time值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateTimestamp
void updateTimestamp(String columnName, Timestamp x) throws SQLException
- 用
java.sql.Timestamp值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateAsciiStream
void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
- 用 ascii 流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateBinaryStream
void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
- 用二进制流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateCharacterStream
void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
- 用字符流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用
updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称reader- 包含新列值的java.io.Reader对象length- 流的长度- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateObject
void updateObject(String columnName, Object x, int scale) throws SQLException
- 用
Object值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值scale- 对于java.sql.Types.DECIMAL或java.sql.Types.NUMERIC类型,此参数是小数点后面的位数。对于其他所有类型,将忽略此值。- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
updateObject
void updateObject(String columnName, Object x) throws SQLException
- 用
Object值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
insertRow
void insertRow()
throws SQLException
- 将插入行的内容插入到此
ResultSet对象和数据库中。调用此方法时,指针必须位于插入行上。 -
- 抛出:
SQLException- 如果发生数据库访问错误,如果在指针不位于插入行上时调用此方法,或者插入行中所有不可为 null 的列中还存在未分配值的列- 从以下版本开始:
- 1.2
updateRow
void updateRow()
throws SQLException
- 用此
ResultSet对象的当前行的新内容更新底层数据库。指针不位于插入行上时不能调用此方法。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者在指针不位于插入行上时调用了此方法- 从以下版本开始:
- 1.2
deleteRow
void deleteRow()
throws SQLException
- 从此
ResultSet对象和底层数据库中删除当前行。指针不位于插入行上时不能调用此方法。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者在指针不位于插入行上时调用了此方法- 从以下版本开始:
- 1.2
refreshRow
void refreshRow()
throws SQLException
- 用数据库中的最近值刷新当前行。指针不位于插入行上时不能调用此方法。
refreshRow方法提供一种让应用程序显式告知 JDBC 驱动程序从数据库重新获取行的方式。应用程序可能需要在 JDBC 驱动程序完成缓存或预获取操作后调用refreshRow,以便从数据库获取行的最新值。如果获取大小大于 1,则 JDBC 驱动程序可以一次实际刷新多行。应根据事务隔离级别和指针敏感度确定是否重新获取所有值。如果在调用更新方法之后,但在调用
updateRow方法之前调用refreshRow,则会丢失对行所作的更新。频繁调用方法refreshRow可能导致性能下降。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者在指针不位于插入行上时调用了此方法- 从以下版本开始:
- 1.2
cancelRowUpdates
void cancelRowUpdates()
throws SQLException
- 取消对
ResultSet对象中的当前行所作的更新。此方法在调用更新方法之后,但在调用updateRow方法之前调用才可以回滚对行所作的更新。如果没有进行任何更新或者已经调用updateRow方法,则此方法无效。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者在指针不位于插入行上时调用了此方法- 从以下版本开始:
- 1.2
moveToInsertRow
void moveToInsertRow()
throws SQLException
- 将指针移动到插入行。将指针置于插入行上时,当前的指针位置会被记住。插入行是一个与可更新结果集相关联的特殊行。它实际上是一个缓冲区,在将行插入到结果集前可以通过调用更新方法在其中构造新行。当指针位于插入行上时,仅能调用更新方法、获取方法以及
insertRow方法。每次在调用insertRow之前调用此方法时,必须为结果集中的所有列分配值。在对列值调用获取方法之前,必须调用更新方法。 -
- 抛出:
SQLException- 如果发生数据库访问错误或者结果集不可更新- 从以下版本开始:
- 1.2
moveToCurrentRow
void moveToCurrentRow()
throws SQLException
- 将指针移动到记住的指针位置,通常为当前行。如果指针不位于插入行上,则此方法无效。
-
- 抛出:
SQLException- 如果发生数据库访问错误或者结果集不可更新- 从以下版本开始:
- 1.2
getStatement
Statement getStatement() throws SQLException
- 检索生成此
ResultSet对象的Statement对象。如果结果集是以其他方式生成的(如通过DatabaseMetaData方法),则此方法返回null。 -
- 返回:
- 生成此
ResultSet对象的Statment对象;如果结果集是以其他方法生成的,则返回null - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getObject
Object getObject(int i, Map<String,Class<?>> map) throws SQLException
- 以 Java 编程语言中
Object的形式检索此ResultSet对象的当前行中指定列的值。如果值为 SQLNULL,则驱动程序返回一个 Javanull。此方法使用给定的Map对象作为正在检索的 SQL 结构化或独特类型的自定义映射关系。 -
- 参数:
i- 第一个列是 1,第二个列是 2,……map- 一个java.util.Map对象,包含从 SQL 类型名称到 Java 编程语言中类的映射关系- 返回:
- 表示 SQL 值的 Java 编程语言中的
Object - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getRef
Ref getRef(int i) throws SQLException
- 以 Java 编程语言中
Ref对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
i- 第一个列是 1,第二个列是 2,……- 返回:
- 表示 SQL
REF值的Ref对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getBlob
Blob getBlob(int i) throws SQLException
- 以 Java 编程语言中
Blob对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
i- 第一个列是 1,第二个列是 2,……- 返回:
- 表示指定列中的 SQL
BLOB值的BLOB对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getClob
Clob getClob(int i) throws SQLException
- 以 Java 编程语言中
Clob对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
i- 第一个列是 1,第二个列是 2,……- 返回:
- 表示指定列中的 SQL
Clob值的Clob对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getArray
Array getArray(int i) throws SQLException
- 以 Java 编程语言中
Array对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
i- 第一个列是 1,第二个列是 2,……- 返回:
- 表示指定列中的 SQL
Array值的Array对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getObject
Object getObject(String colName, Map<String,Class<?>> map) throws SQLException
- 以 Java 编程语言中
Object的形式检索此ResultSet对象的当前行中指定列的值。如果值为 SQLNULL,则驱动程序返回一个 Javanull。此方法使用指定的Map对象自定义映射关系(如果合适)。 -
- 参数:
colName- 列的名称,根据它来检索值map- 包含从 SQL 类型名称到 Java 编程语言中类的映射关系的java.util.Map对象- 返回:
- 表示指定列中的 SQL 值的
Object - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getRef
Ref getRef(String colName) throws SQLException
- 以 Java 编程语言中
Ref对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
colName- 列名称- 返回:
- 表示指定列中 SQL
Ref值的Ref对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getBlob
Blob getBlob(String colName) throws SQLException
- 以 Java 编程语言中
Blob对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
colName- 列的名称,根据它检索值- 返回:
- 表示指定列中 SQL
Blob值的Blob对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getClob
Clob getClob(String colName) throws SQLException
- 以 Java 编程语言中
Clob对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
colName- 列的名称,根据它检索值- 返回:
- 表示指定列中 SQL
CLOB值的Clob对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getArray
Array getArray(String colName) throws SQLException
- 以 Java 编程语言中
Array对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
colName- 列的名称,根据它检索值- 返回:
- 表示指定列中 SQL
ARRAY值的ARRAY对象 - 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getDate
Date getDate(int columnIndex, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Date对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造日期的适当毫秒值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……cal- 在构造日期时使用的java.util.Calendar对象- 返回:
java.sql.Date对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getDate
Date getDate(String columnName, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Date对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造日期的适当毫秒值。 -
- 参数:
columnName- 列的 SQL 名称,根据它检索值cal- 在构造日期时使用的java.util.Calendar对象- 返回:
java.sql.Date对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getTime
Time getTime(int columnIndex, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Time对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造时间的适当毫秒值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……cal- 在构造时间时使用的java.util.Calendar对象- 返回:
java.sql.Time对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getTime
Time getTime(String columnName, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Time对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造时间的适当毫秒值。 -
- 参数:
columnName- 列的 SQL 名称cal- 在构造时间时使用的java.util.Calendar对象- 返回:
java.sql.Time对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getTimestamp
Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Timestamp对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造时间戳的适当毫秒值。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……cal- 在构造时间戳时使用的java.util.Calendar对象- 返回:
java.sql.Timestamp对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getTimestamp
Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
- 以 Java 编程语言中
java.sql.Timestamp对象的形式检索此ResultSet对象的当前行中指定列的值。如果底层数据库未存储时区信息,则此方法使用给定日历构造时间戳的适当毫秒值。 -
- 参数:
columnName- 列的 SQL 名称cal- 在构造日期时使用的java.util.Calendar对象- 返回:
java.sql.Timestamp对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.2
getURL
URL getURL(int columnIndex) throws SQLException
- 以 Java 编程语言中
java.net.URL对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnIndex- 索引,其中第一个列是 1、第二个列是 2,……- 返回:
java.net.URL对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误或者 URL 是错误的- 从以下版本开始:
- 1.4
getURL
URL getURL(String columnName) throws SQLException
- 以 Java 编程语言中
java.net.URL对象的形式检索此ResultSet对象的当前行中指定列的值。 -
- 参数:
columnName- 列的 SQL 名称- 返回:
java.net.URL对象形式的列值;如果值为 SQLNULL,则返回值为 Java 编程语言中的null- 抛出:
SQLException- 如果发生数据库访问错误或者 URL 是错误的- 从以下版本开始:
- 1.4
updateRef
void updateRef(int columnIndex,
Ref x)
throws SQLException
- 用
java.sql.Ref值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateRef
void updateRef(String columnName, Ref x) throws SQLException
- 用
java.sql.Ref值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateBlob
void updateBlob(int columnIndex,
Blob x)
throws SQLException
- 用
java.sql.Blob值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateBlob
void updateBlob(String columnName, Blob x) throws SQLException
- 用
java.sql.Blob值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateClob
void updateClob(int columnIndex,
Clob x)
throws SQLException
- 用
java.sql.Clob值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateClob
void updateClob(String columnName, Clob x) throws SQLException
- 用
java.sql.Clob值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateArray
void updateArray(int columnIndex,
Array x)
throws SQLException
- 用
java.sql.Array值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。 -
- 参数:
columnIndex- 第一个列是 1,第二个列是 2,……x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误- 从以下版本开始:
- 1.4
updateArray
void updateArray(String columnName, Array x) throws SQLException
- 用
java.sql.Array值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用updateRow或insertRow方法。- 参数:
columnName- 列的名称x- 新列值- 抛出:
SQLException- 如果发生数据库访问错误
Interface ResultSet
- All Superinterfaces:
- AutoCloseable, Wrapper
- All Known Subinterfaces:
- CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, RowSet, SyncResolver, WebRowSet
public interface ResultSet extends Wrapper, AutoCloseable
A table of data representing a database result set, which is usually generated by executing a statement that queries the database.A
ResultSetobject maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. Thenextmethod moves the cursor to the next row, and because it returnsfalsewhen there are no more rows in theResultSetobject, it can be used in awhileloop to iterate through the result set.A default
ResultSetobject is not updatable and has a cursor that moves forward only. Thus, you can iterate through it only once and only from the first row to the last row. It is possible to produceResultSetobjects that are scrollable and/or updatable. The following code fragment, in whichconis a validConnectionobject, illustrates how to make a result set that is scrollable and insensitive to updates by others, and that is updatable. SeeResultSetfields for other options.Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatableThe
ResultSetinterface provides getter methods (getBoolean,getLong, and so on) for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.For the getter methods, a JDBC driver attempts to convert the underlying data to the Java type specified in the getter method and returns a suitable Java value. The JDBC specification has a table showing the allowable mappings from SQL types to Java types that can be used by the
ResultSetgetter methods.Column names used as input to getter methods are case insensitive. When a getter method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, the programmer should take care to guarantee that they uniquely refer to the intended columns, which can be assured with the SQL AS clause.
A set of updater methods were added to this interface in the JDBC 2.0 API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments regarding parameters to the getter methods also apply to parameters to the updater methods.
The updater methods may be used in two ways:
- to update a column value in the current row. In a scrollable
ResultSetobject, the cursor can be moved backwards and forwards, to an absolute position, or to a position relative to the current row. The following code fragment updates theNAMEcolumn in the fifth row of theResultSetobjectrsand then uses the methodupdateRowto update the data source table from whichrswas derived.rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //NAMEcolumn of row 5 to beAINSWORTHrs.updateRow(); // updates the row in the data source - to insert column values into the insert row. An updatable
ResultSetobject has a special row associated with it that serves as a staging area for building a row to be inserted. The following code fragment moves the cursor to the insert row, builds a three-column row, and inserts it intorsand into the data source table using the methodinsertRow.rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to beAINSWORTHrs.updateInt(2,35); // updates the second column to be35rs.updateBoolean(3, true); // updates the third column totruers.insertRow(); rs.moveToCurrentRow();
A
ResultSetobject is automatically closed when theStatementobject that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.The number, types and properties of a
ResultSetobject's columns are provided by theResultSetMetaDataobject returned by theResultSet.getMetaDatamethod.
Field Summary
Fields Modifier and Type Field and Description static intCLOSE_CURSORS_AT_COMMITThe constant indicating that openResultSetobjects with this holdability will be closed when the current transaction is commited.static intCONCUR_READ_ONLYThe constant indicating the concurrency mode for aResultSetobject that may NOT be updated.static intCONCUR_UPDATABLEThe constant indicating the concurrency mode for aResultSetobject that may be updated.static intFETCH_FORWARDThe constant indicating that the rows in a result set will be processed in a forward direction; first-to-last.static intFETCH_REVERSEThe constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first.static intFETCH_UNKNOWNThe constant indicating that the order in which rows in a result set will be processed is unknown.static intHOLD_CURSORS_OVER_COMMITThe constant indicating that openResultSetobjects with this holdability will remain open when the current transaction is commited.static intTYPE_FORWARD_ONLYThe constant indicating the type for aResultSetobject whose cursor may move only forward.static intTYPE_SCROLL_INSENSITIVEThe constant indicating the type for aResultSetobject that is scrollable but generally not sensitive to changes to the data that underlies theResultSet.static intTYPE_SCROLL_SENSITIVEThe constant indicating the type for aResultSetobject that is scrollable and generally sensitive to changes to the data that underlies theResultSet.
Method Summary
Methods Modifier and Type Method and Description booleanabsolute(int row)Moves the cursor to the given row number in thisResultSetobject.voidafterLast()Moves the cursor to the end of thisResultSetobject, just after the last row.voidbeforeFirst()Moves the cursor to the front of thisResultSetobject, just before the first row.voidcancelRowUpdates()Cancels the updates made to the current row in thisResultSetobject.voidclearWarnings()Clears all warnings reported on thisResultSetobject.voidclose()Releases thisResultSetobject's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.voiddeleteRow()Deletes the current row from thisResultSetobject and from the underlying database.intfindColumn(String columnLabel)Maps the givenResultSetcolumn label to itsResultSetcolumn index.booleanfirst()Moves the cursor to the first row in thisResultSetobject.ArraygetArray(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.ArraygetArray(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.InputStreamgetAsciiStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters.InputStreamgetAsciiStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters.BigDecimalgetBigDecimal(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.BigDecimalgetBigDecimal(int columnIndex, int scale)Deprecated.BigDecimalgetBigDecimal(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.BigDecimalgetBigDecimal(String columnLabel, int scale)Deprecated.InputStreamgetBinaryStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpreted bytes.InputStreamgetBinaryStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpretedbytes.BlobgetBlob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.BlobgetBlob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.booleangetBoolean(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.booleangetBoolean(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.bytegetByte(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.bytegetByte(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.byte[]getBytes(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language.byte[]getBytes(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language.ReadergetCharacterStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ReadergetCharacterStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ClobgetClob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.ClobgetClob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.intgetConcurrency()Retrieves the concurrency mode of thisResultSetobject.StringgetCursorName()Retrieves the name of the SQL cursor used by thisResultSetobject.DategetDate(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.doublegetDouble(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.doublegetDouble(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.intgetFetchDirection()Retrieves the fetch direction for thisResultSetobject.intgetFetchSize()Retrieves the fetch size for thisResultSetobject.floatgetFloat(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.floatgetFloat(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.intgetHoldability()Retrieves the holdability of thisResultSetobjectintgetInt(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.intgetInt(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.longgetLong(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.longgetLong(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.ResultSetMetaDatagetMetaData()Retrieves the number, types and properties of thisResultSetobject's columns.ReadergetNCharacterStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ReadergetNCharacterStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.NClobgetNClob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.NClobgetNClob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.StringgetNString(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.StringgetNString(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.ObjectgetObject(int columnIndex)Gets the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.<T> TgetObject(int columnIndex, Class<T> type)Retrieves the value of the designated column in the current row of thisResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.ObjectgetObject(int columnIndex, Map<String,Class<?>> map)Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.ObjectgetObject(String columnLabel)Gets the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.<T> TgetObject(String columnLabel, Class<T> type)Retrieves the value of the designated column in the current row of thisResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.ObjectgetObject(String columnLabel, Map<String,Class<?>> map)Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.RefgetRef(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.RefgetRef(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.intgetRow()Retrieves the current row number.RowIdgetRowId(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.RowIdgetRowId(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.shortgetShort(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.shortgetShort(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.SQLXMLgetSQLXML(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.SQLXMLgetSQLXML(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.StatementgetStatement()Retrieves theStatementobject that produced thisResultSetobject.StringgetString(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.StringgetString(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.TimegetTime(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimestampgetTimestamp(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.intgetType()Retrieves the type of thisResultSetobject.InputStreamgetUnicodeStream(int columnIndex)Deprecated.usegetCharacterStreamin place ofgetUnicodeStreamInputStreamgetUnicodeStream(String columnLabel)Deprecated.usegetCharacterStreaminsteadURLgetURL(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.URLgetURL(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.SQLWarninggetWarnings()Retrieves the first warning reported by calls on thisResultSetobject.voidinsertRow()Inserts the contents of the insert row into thisResultSetobject and into the database.booleanisAfterLast()Retrieves whether the cursor is after the last row in thisResultSetobject.booleanisBeforeFirst()Retrieves whether the cursor is before the first row in thisResultSetobject.booleanisClosed()Retrieves whether thisResultSetobject has been closed.booleanisFirst()Retrieves whether the cursor is on the first row of thisResultSetobject.booleanisLast()Retrieves whether the cursor is on the last row of thisResultSetobject.booleanlast()Moves the cursor to the last row in thisResultSetobject.voidmoveToCurrentRow()Moves the cursor to the remembered cursor position, usually the current row.voidmoveToInsertRow()Moves the cursor to the insert row.booleannext()Moves the cursor froward one row from its current position.booleanprevious()Moves the cursor to the previous row in thisResultSetobject.voidrefreshRow()Refreshes the current row with its most recent value in the database.booleanrelative(int rows)Moves the cursor a relative number of rows, either positive or negative.booleanrowDeleted()Retrieves whether a row has been deleted.booleanrowInserted()Retrieves whether the current row has had an insertion.booleanrowUpdated()Retrieves whether the current row has been updated.voidsetFetchDirection(int direction)Gives a hint as to the direction in which the rows in thisResultSetobject will be processed.voidsetFetchSize(int rows)Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for thisResultSetobject.voidupdateArray(int columnIndex, Array x)Updates the designated column with ajava.sql.Arrayvalue.voidupdateArray(String columnLabel, Array x)Updates the designated column with ajava.sql.Arrayvalue.voidupdateAsciiStream(int columnIndex, InputStream x)Updates the designated column with an ascii stream value.voidupdateAsciiStream(int columnIndex, InputStream x, int length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(int columnIndex, InputStream x, long length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(String columnLabel, InputStream x)Updates the designated column with an ascii stream value.voidupdateAsciiStream(String columnLabel, InputStream x, int length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(String columnLabel, InputStream x, long length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateBigDecimal(int columnIndex, BigDecimal x)Updates the designated column with ajava.math.BigDecimalvalue.voidupdateBigDecimal(String columnLabel, BigDecimal x)Updates the designated column with ajava.sql.BigDecimalvalue.voidupdateBinaryStream(int columnIndex, InputStream x)Updates the designated column with a binary stream value.voidupdateBinaryStream(int columnIndex, InputStream x, int length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(int columnIndex, InputStream x, long length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(String columnLabel, InputStream x)Updates the designated column with a binary stream value.voidupdateBinaryStream(String columnLabel, InputStream x, int length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(String columnLabel, InputStream x, long length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBlob(int columnIndex, Blob x)Updates the designated column with ajava.sql.Blobvalue.voidupdateBlob(int columnIndex, InputStream inputStream)Updates the designated column using the given input stream.voidupdateBlob(int columnIndex, InputStream inputStream, long length)Updates the designated column using the given input stream, which will have the specified number of bytes.voidupdateBlob(String columnLabel, Blob x)Updates the designated column with ajava.sql.Blobvalue.voidupdateBlob(String columnLabel, InputStream inputStream)Updates the designated column using the given input stream.voidupdateBlob(String columnLabel, InputStream inputStream, long length)Updates the designated column using the given input stream, which will have the specified number of bytes.voidupdateBoolean(int columnIndex, boolean x)Updates the designated column with abooleanvalue.voidupdateBoolean(String columnLabel, boolean x)Updates the designated column with abooleanvalue.voidupdateByte(int columnIndex, byte x)Updates the designated column with abytevalue.voidupdateByte(String columnLabel, byte x)Updates the designated column with abytevalue.voidupdateBytes(int columnIndex, byte[] x)Updates the designated column with abytearray value.voidupdateBytes(String columnLabel, byte[] x)Updates the designated column with a byte array value.voidupdateCharacterStream(int columnIndex, Reader x)Updates the designated column with a character stream value.voidupdateCharacterStream(int columnIndex, Reader x, int length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(int columnIndex, Reader x, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(String columnLabel, Reader reader)Updates the designated column with a character stream value.voidupdateCharacterStream(String columnLabel, Reader reader, int length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(String columnLabel, Reader reader, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateClob(int columnIndex, Clob x)Updates the designated column with ajava.sql.Clobvalue.voidupdateClob(int columnIndex, Reader reader)Updates the designated column using the givenReaderobject.voidupdateClob(int columnIndex, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateClob(String columnLabel, Clob x)Updates the designated column with ajava.sql.Clobvalue.voidupdateClob(String columnLabel, Reader reader)Updates the designated column using the givenReaderobject.voidupdateClob(String columnLabel, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateDate(int columnIndex, Date x)Updates the designated column with ajava.sql.Datevalue.voidupdateDate(String columnLabel, Date x)Updates the designated column with ajava.sql.Datevalue.voidupdateDouble(int columnIndex, double x)Updates the designated column with adoublevalue.voidupdateDouble(String columnLabel, double x)Updates the designated column with adoublevalue.voidupdateFloat(int columnIndex, float x)Updates the designated column with afloatvalue.voidupdateFloat(String columnLabel, float x)Updates the designated column with afloatvalue.voidupdateInt(int columnIndex, int x)Updates the designated column with anintvalue.voidupdateInt(String columnLabel, int x)Updates the designated column with anintvalue.voidupdateLong(int columnIndex, long x)Updates the designated column with alongvalue.voidupdateLong(String columnLabel, long x)Updates the designated column with alongvalue.voidupdateNCharacterStream(int columnIndex, Reader x)Updates the designated column with a character stream value.voidupdateNCharacterStream(int columnIndex, Reader x, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateNCharacterStream(String columnLabel, Reader reader)Updates the designated column with a character stream value.voidupdateNCharacterStream(String columnLabel, Reader reader, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateNClob(int columnIndex, NClob nClob)Updates the designated column with ajava.sql.NClobvalue.voidupdateNClob(int columnIndex, Reader reader)Updates the designated column using the givenReaderThe data will be read from the stream as needed until end-of-stream is reached.voidupdateNClob(int columnIndex, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateNClob(String columnLabel, NClob nClob)Updates the designated column with ajava.sql.NClobvalue.voidupdateNClob(String columnLabel, Reader reader)Updates the designated column using the givenReaderobject.voidupdateNClob(String columnLabel, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateNString(int columnIndex, String nString)Updates the designated column with aStringvalue.voidupdateNString(String columnLabel, String nString)Updates the designated column with aStringvalue.voidupdateNull(int columnIndex)Updates the designated column with anullvalue.voidupdateNull(String columnLabel)Updates the designated column with anullvalue.voidupdateObject(int columnIndex, Object x)Updates the designated column with anObjectvalue.voidupdateObject(int columnIndex, Object x, int scaleOrLength)Updates the designated column with anObjectvalue.voidupdateObject(String columnLabel, Object x)Updates the designated column with anObjectvalue.voidupdateObject(String columnLabel, Object x, int scaleOrLength)Updates the designated column with anObjectvalue.voidupdateRef(int columnIndex, Ref x)Updates the designated column with ajava.sql.Refvalue.voidupdateRef(String columnLabel, Ref x)Updates the designated column with ajava.sql.Refvalue.voidupdateRow()Updates the underlying database with the new contents of the current row of thisResultSetobject.voidupdateRowId(int columnIndex, RowId x)Updates the designated column with aRowIdvalue.voidupdateRowId(String columnLabel, RowId x)Updates the designated column with aRowIdvalue.voidupdateShort(int columnIndex, short x)Updates the designated column with ashortvalue.voidupdateShort(String columnLabel, short x)Updates the designated column with ashortvalue.voidupdateSQLXML(int columnIndex, SQLXML xmlObject)Updates the designated column with ajava.sql.SQLXMLvalue.voidupdateSQLXML(String columnLabel, SQLXML xmlObject)Updates the designated column with ajava.sql.SQLXMLvalue.voidupdateString(int columnIndex, String x)Updates the designated column with aStringvalue.voidupdateString(String columnLabel, String x)Updates the designated column with aStringvalue.voidupdateTime(int columnIndex, Time x)Updates the designated column with ajava.sql.Timevalue.voidupdateTime(String columnLabel, Time x)Updates the designated column with ajava.sql.Timevalue.voidupdateTimestamp(int columnIndex, Timestamp x)Updates the designated column with ajava.sql.Timestampvalue.voidupdateTimestamp(String columnLabel, Timestamp x)Updates the designated column with ajava.sql.Timestampvalue.booleanwasNull()Reports whether the last column read had a value of SQLNULL.Methods inherited from interface java.sql.Wrapper
Field Detail
FETCH_FORWARD
static final int FETCH_FORWARD
The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- Since:
- 1.2
- See Also:
- Constant Field Values
FETCH_REVERSE
static final int FETCH_REVERSE
The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- Since:
- 1.2
- See Also:
- Constant Field Values
FETCH_UNKNOWN
static final int FETCH_UNKNOWN
The constant indicating that the order in which rows in a result set will be processed is unknown. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- See Also:
- Constant Field Values
TYPE_FORWARD_ONLY
static final int TYPE_FORWARD_ONLY
The constant indicating the type for aResultSetobject whose cursor may move only forward.- Since:
- 1.2
- See Also:
- Constant Field Values
TYPE_SCROLL_INSENSITIVE
static final int TYPE_SCROLL_INSENSITIVE
The constant indicating the type for aResultSetobject that is scrollable but generally not sensitive to changes to the data that underlies theResultSet.- Since:
- 1.2
- See Also:
- Constant Field Values
TYPE_SCROLL_SENSITIVE
static final int TYPE_SCROLL_SENSITIVE
The constant indicating the type for aResultSetobject that is scrollable and generally sensitive to changes to the data that underlies theResultSet.- Since:
- 1.2
- See Also:
- Constant Field Values
CONCUR_READ_ONLY
static final int CONCUR_READ_ONLY
The constant indicating the concurrency mode for aResultSetobject that may NOT be updated.- Since:
- 1.2
- See Also:
- Constant Field Values
CONCUR_UPDATABLE
static final int CONCUR_UPDATABLE
The constant indicating the concurrency mode for aResultSetobject that may be updated.- Since:
- 1.2
- See Also:
- Constant Field Values
HOLD_CURSORS_OVER_COMMIT
static final int HOLD_CURSORS_OVER_COMMIT
The constant indicating that openResultSetobjects with this holdability will remain open when the current transaction is commited.- Since:
- 1.4
- See Also:
- Constant Field Values
CLOSE_CURSORS_AT_COMMIT
static final int CLOSE_CURSORS_AT_COMMIT
The constant indicating that openResultSetobjects with this holdability will be closed when the current transaction is commited.- Since:
- 1.4
- See Also:
- Constant Field Values
Method Detail
next
boolean next() throws SQLExceptionMoves the cursor froward one row from its current position. AResultSetcursor is initially positioned before the first row; the first call to the methodnextmakes the first row the current row; the second call makes the second row the current row, and so on.When a call to the
nextmethod returnsfalse, the cursor is positioned after the last row. Any invocation of aResultSetmethod which requires a current row will result in aSQLExceptionbeing thrown. If the result set type isTYPE_FORWARD_ONLY, it is vendor specified whether their JDBC driver implementation will returnfalseor throw anSQLExceptionon a subsequent call tonext.If an input stream is open for the current row, a call to the method
nextwill implicitly close it. AResultSetobject's warning chain is cleared when a new row is read.- Returns:
trueif the new current row is valid;falseif there are no more rows- Throws:
SQLException- if a database access error occurs or this method is called on a closed result set
close
void close() throws SQLExceptionReleases thisResultSetobject's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.The closing of a
ResultSetobject does not close theBlob,CloborNClobobjects created by theResultSet.Blob,CloborNClobobjects remain valid for at least the duration of the transaction in which they are creataed, unless theirfreemethod is invoked.When a
ResultSetis closed, anyResultSetMetaDatainstances that were created by calling thegetMetaDatamethod remain accessible.Note: A
ResultSetobject is automatically closed by theStatementobject that generated it when thatStatementobject is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results.Calling the method
closeon aResultSetobject that is already closed is a no-op.- Specified by:
closein interfaceAutoCloseable- Throws:
SQLException- if a database access error occurs
wasNull
boolean wasNull() throws SQLExceptionReports whether the last column read had a value of SQLNULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the methodwasNullto see if the value read was SQLNULL.- Returns:
trueif the last column value read was SQLNULLandfalseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result set
getString
String getString(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getBoolean
boolean getBoolean(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of
falseis returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value oftrueis returned.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isfalse - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getByte
byte getByte(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getShort
short getShort(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getInt
int getInt(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getLong
long getLong(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getFloat
float getFloat(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getDouble
double getDouble(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getBigDecimal
BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
Deprecated.Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.BigDecimalin the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...scale- the number of digits to the right of the decimal point- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method
getBytes
byte[] getBytes(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language. The bytes represent the raw values returned by the driver.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getDate
Date getDate(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getTime
Time getTime(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getTimestamp
Timestamp getTimestamp(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getAsciiStream
InputStream getAsciiStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into ASCII.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called whether there is data available or not.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getUnicodeStream
InputStream getUnicodeStream(int columnIndex) throws SQLException
Deprecated. usegetCharacterStreamin place ofgetUnicodeStreamRetrieves the value of the designated column in the current row of thisResultSetobject as as a stream of two-byte 3 characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into Unicode.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called, whether there is data available or not.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a Java input stream that delivers the database column value as a stream of two-byte Unicode characters; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method
getBinaryStream
InputStream getBinaryStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARBINARYvalues.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called whether there is data available or not.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getString
String getString(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getBoolean
boolean getBoolean(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of
falseis returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value oftrueis returned.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isfalse - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getByte
byte getByte(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getShort
short getShort(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getInt
int getInt(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getLong
long getLong(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getFloat
float getFloat(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getDouble
double getDouble(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned is0 - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getBigDecimal
BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException
Deprecated.Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalin the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnscale- the number of digits to the right of the decimal point- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method
getBytes
byte[] getBytes(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language. The bytes represent the raw values returned by the driver.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getDate
Date getDate(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getTime
Time getTime(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getTimestamp
Timestamp getTimestamp(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getAsciiStream
InputStream getAsciiStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into ASCII.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodavailableis called whether there is data available or not.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL
NULL, the value returned isnull. - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getUnicodeStream
InputStream getUnicodeStream(String columnLabel) throws SQLException
Deprecated. usegetCharacterStreaminsteadRetrieves the value of the designated column in the current row of thisResultSetobject as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC technology-enabled driver will do any necessary conversion from the database format into Unicode.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called, whether there is data available or not.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL
NULL, the value returned isnull. - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method
getBinaryStream
InputStream getBinaryStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpretedbytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARBINARYvalues.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodavailableis called whether there is data available or not.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL
NULL, the result isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
getWarnings
SQLWarning getWarnings() throws SQLException
Retrieves the first warning reported by calls on thisResultSetobject. Subsequent warnings on thisResultSetobject will be chained to theSQLWarningobject that this method returns.The warning chain is automatically cleared each time a new row is read. This method may not be called on a
ResultSetobject that has been closed; doing so will cause anSQLExceptionto be thrown.Note: This warning chain only covers warnings caused by
ResultSetmethods. Any warning caused byStatementmethods (such as reading OUT parameters) will be chained on theStatementobject.- Returns:
- the first
SQLWarningobject reported ornullif there are none - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set
clearWarnings
void clearWarnings() throws SQLExceptionClears all warnings reported on thisResultSetobject. After this method is called, the methodgetWarningsreturnsnulluntil a new warning is reported for thisResultSetobject.- Throws:
SQLException- if a database access error occurs or this method is called on a closed result set
getCursorName
String getCursorName() throws SQLException
Retrieves the name of the SQL cursor used by thisResultSetobject.In SQL, a result table is retrieved through a cursor that is named. The current row of a result set can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the cursor has the proper isolation level to support update, the cursor's
SELECTstatement should be of the formSELECT FOR UPDATE. IfFOR UPDATEis omitted, the positioned updates may fail.The JDBC API supports this SQL feature by providing the name of the SQL cursor used by a
ResultSetobject. The current row of aResultSetobject is also the current row of this SQL cursor.- Returns:
- the SQL name for this
ResultSetobject's cursor - Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method
getMetaData
ResultSetMetaData getMetaData() throws SQLException
Retrieves the number, types and properties of thisResultSetobject's columns.- Returns:
- the description of this
ResultSetobject's columns - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set
getObject
Object getObject(int columnIndex) throws SQLException
Gets the value of the designated column in the current row of this
ResultSetobject as anObjectin the Java programming language.This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL
NULL, the driver returns a Javanull.This method may also be used to read database-specific abstract data types. In the JDBC 2.0 API, the behavior of method
getObjectis extended to materialize data of SQL user-defined types.If
Connection.getTypeMapdoes not throw aSQLFeatureNotSupportedException, then when a column contains a structured or distinct value, the behavior of this method is as if it were a call to:getObject(columnIndex, this.getStatement().getConnection().getTypeMap()). IfConnection.getTypeMapdoes throw aSQLFeatureNotSupportedException, then structured values are not supported, and distinct values are mapped to the default Java class as determined by the underlying SQL type of the DISTINCT type.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
java.lang.Objectholding the column value - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
getObject
Object getObject(String columnLabel) throws SQLException
Gets the value of the designated column in the current row of this
ResultSetobject as anObjectin the Java programming language.This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL
NULL, the driver returns a Javanull.This method may also be used to read database-specific abstract data types.
In the JDBC 2.0 API, the behavior of the method
getObjectis extended to materialize data of SQL user-defined types. When a column contains a structured or distinct value, the behavior of this method is as if it were a call to:getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
java.lang.Objectholding the column value - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
findColumn
int findColumn(String columnLabel) throws SQLException
Maps the givenResultSetcolumn label to itsResultSetcolumn index.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column index of the given column name
- Throws:
SQLException- if theResultSetobject does not contain a column labeledcolumnLabel, a database access error occurs or this method is called on a closed result set
getCharacterStream
Reader getCharacterStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language. - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getCharacterStream
Reader getCharacterStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value (full precision); if the value is SQL
NULL, the value returned isnullin the Java programming language. - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value (full precision); if the value is SQL
NULL, the value returned isnullin the Java programming language. - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
isBeforeFirst
boolean isBeforeFirst() throws SQLExceptionRetrieves whether the cursor is before the first row in thisResultSetobject.Note:Support for the
isBeforeFirstmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
trueif the cursor is before the first row;falseif the cursor is at any other position or the result set contains no rows- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
isAfterLast
boolean isAfterLast() throws SQLExceptionRetrieves whether the cursor is after the last row in thisResultSetobject.Note:Support for the
isAfterLastmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
trueif the cursor is after the last row;falseif the cursor is at any other position or the result set contains no rows- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
isFirst
boolean isFirst() throws SQLExceptionRetrieves whether the cursor is on the first row of thisResultSetobject.Note:Support for the
isFirstmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
trueif the cursor is on the first row;falseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
isLast
boolean isLast() throws SQLExceptionRetrieves whether the cursor is on the last row of thisResultSetobject. Note: Calling the methodisLastmay be expensive because the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.Note: Support for the
isLastmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
trueif the cursor is on the last row;falseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
beforeFirst
void beforeFirst() throws SQLExceptionMoves the cursor to the front of thisResultSetobject, just before the first row. This method has no effect if the result set contains no rows.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
afterLast
void afterLast() throws SQLExceptionMoves the cursor to the end of thisResultSetobject, just after the last row. This method has no effect if the result set contains no rows.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
first
boolean first() throws SQLExceptionMoves the cursor to the first row in thisResultSetobject.- Returns:
trueif the cursor is on a valid row;falseif there are no rows in the result set- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
last
boolean last() throws SQLExceptionMoves the cursor to the last row in thisResultSetobject.- Returns:
trueif the cursor is on a valid row;falseif there are no rows in the result set- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getRow
int getRow() throws SQLExceptionRetrieves the current row number. The first row is number 1, the second number 2, and so on.Note:Support for the
getRowmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
- the current row number;
0if there is no current row - Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
absolute
boolean absolute(int row) throws SQLExceptionMoves the cursor to the given row number in thisResultSetobject.If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.
If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method
absolute(-1)positions the cursor on the last row; calling the methodabsolute(-2)moves the cursor to the next-to-last row, and so on.If the row number specified is zero, the cursor is moved to before the first row.
An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.
Note: Calling
absolute(1)is the same as callingfirst(). Callingabsolute(-1)is the same as callinglast().- Parameters:
row- the number of the row to which the cursor should move. A value of zero indicates that the cursor will be positioned before the first row; a positive number indicates the row number counting from the beginning of the result set; a negative number indicates the row number counting from the end of the result set- Returns:
trueif the cursor is moved to a position in thisResultSetobject;falseif the cursor is before the first row or after the last row- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
relative
boolean relative(int rows) throws SQLExceptionMoves the cursor a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the result set positions the cursor before/after the the first/last row. Callingrelative(0)is valid, but does not change the cursor position.Note: Calling the method
relative(1)is identical to calling the methodnext()and calling the methodrelative(-1)is identical to calling the methodprevious().- Parameters:
rows- anintspecifying the number of rows to move from the current row; a positive number moves the cursor forward; a negative number moves the cursor backward- Returns:
trueif the cursor is on a row;falseotherwise- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
previous
boolean previous() throws SQLExceptionMoves the cursor to the previous row in thisResultSetobject.When a call to the
previousmethod returnsfalse, the cursor is positioned before the first row. Any invocation of aResultSetmethod which requires a current row will result in aSQLExceptionbeing thrown.If an input stream is open for the current row, a call to the method
previouswill implicitly close it. AResultSetobject's warning change is cleared when a new row is read.- Returns:
trueif the cursor is now positioned on a valid row;falseif the cursor is positioned before the first row- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
setFetchDirection
void setFetchDirection(int direction) throws SQLExceptionGives a hint as to the direction in which the rows in thisResultSetobject will be processed. The initial value is determined by theStatementobject that produced thisResultSetobject. The fetch direction may be changed at any time.- Parameters:
direction- anintspecifying the suggested fetch direction; one ofResultSet.FETCH_FORWARD,ResultSet.FETCH_REVERSE, orResultSet.FETCH_UNKNOWN- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYand the fetch direction is notFETCH_FORWARD- Since:
- 1.2
- See Also:
Statement.setFetchDirection(int),getFetchDirection()
getFetchDirection
int getFetchDirection() throws SQLExceptionRetrieves the fetch direction for thisResultSetobject.- Returns:
- the current fetch direction for this
ResultSetobject - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
- See Also:
setFetchDirection(int)
setFetchSize
void setFetchSize(int rows) throws SQLExceptionGives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for thisResultSetobject. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. The default value is set by theStatementobject that created the result set. The fetch size may be changed at any time.- Parameters:
rows- the number of rows to fetch- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the conditionrows >= 0is not satisfied- Since:
- 1.2
- See Also:
getFetchSize()
getFetchSize
int getFetchSize() throws SQLExceptionRetrieves the fetch size for thisResultSetobject.- Returns:
- the current fetch size for this
ResultSetobject - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
- See Also:
setFetchSize(int)
getType
int getType() throws SQLExceptionRetrieves the type of thisResultSetobject. The type is determined by theStatementobject that created the result set.- Returns:
ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVE- Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getConcurrency
int getConcurrency() throws SQLExceptionRetrieves the concurrency mode of thisResultSetobject. The concurrency used is determined by theStatementobject that created the result set.- Returns:
- the concurrency type, either
ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
rowUpdated
boolean rowUpdated() throws SQLExceptionRetrieves whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.Note: Support for the
rowUpdatedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
trueif the current row is detected to have been visibly updated by the owner or another;falseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
- See Also:
DatabaseMetaData.updatesAreDetected(int)
rowInserted
boolean rowInserted() throws SQLExceptionRetrieves whether the current row has had an insertion. The value returned depends on whether or not thisResultSetobject can detect visible inserts.Note: Support for the
rowInsertedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
trueif the current row is detected to have been inserted;falseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
- See Also:
DatabaseMetaData.insertsAreDetected(int)
rowDeleted
boolean rowDeleted() throws SQLExceptionRetrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not thisResultSetobject can detect deletions.Note: Support for the
rowDeletedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
trueif the current row is detected to have been deleted by the owner or another;falseotherwise- Throws:
SQLException- if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
- See Also:
DatabaseMetaData.deletesAreDetected(int)
updateNull
void updateNull(int columnIndex) throws SQLExceptionUpdates the designated column with anullvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBoolean
void updateBoolean(int columnIndex, boolean x) throws SQLExceptionUpdates the designated column with abooleanvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateByte
void updateByte(int columnIndex, byte x) throws SQLExceptionUpdates the designated column with abytevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateShort
void updateShort(int columnIndex, short x) throws SQLExceptionUpdates the designated column with ashortvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateInt
void updateInt(int columnIndex, int x) throws SQLExceptionUpdates the designated column with anintvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateLong
void updateLong(int columnIndex, long x) throws SQLExceptionUpdates the designated column with alongvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateFloat
void updateFloat(int columnIndex, float x) throws SQLExceptionUpdates the designated column with afloatvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateDouble
void updateDouble(int columnIndex, double x) throws SQLExceptionUpdates the designated column with adoublevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBigDecimal
void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLExceptionUpdates the designated column with ajava.math.BigDecimalvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateString
void updateString(int columnIndex, String x) throws SQLExceptionUpdates the designated column with aStringvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBytes
void updateBytes(int columnIndex, byte[] x) throws SQLExceptionUpdates the designated column with abytearray value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateDate
void updateDate(int columnIndex, Date x) throws SQLExceptionUpdates the designated column with ajava.sql.Datevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateTime
void updateTime(int columnIndex, Time x) throws SQLExceptionUpdates the designated column with ajava.sql.Timevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateTimestamp
void updateTimestamp(int columnIndex, Timestamp x) throws SQLExceptionUpdates the designated column with ajava.sql.Timestampvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLExceptionUpdates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLExceptionUpdates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateObject
void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLExceptionUpdates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.If the second argument is an
InputStreamthen the stream must contain the number of bytes specified by scaleOrLength. If the second argument is aReaderthen the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate aSQLExceptionwhen the statement is executed.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuescaleOrLength- for an object ofjava.math.BigDecimal, this is the number of digits after the decimal point. For Java Object typesInputStreamandReader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateObject
void updateObject(int columnIndex, Object x) throws SQLExceptionUpdates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateNull
void updateNull(String columnLabel) throws SQLException
Updates the designated column with anullvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBoolean
void updateBoolean(String columnLabel, boolean x) throws SQLException
Updates the designated column with abooleanvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateByte
void updateByte(String columnLabel, byte x) throws SQLException
Updates the designated column with abytevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateShort
void updateShort(String columnLabel, short x) throws SQLException
Updates the designated column with ashortvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateInt
void updateInt(String columnLabel, int x) throws SQLException
Updates the designated column with anintvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateLong
void updateLong(String columnLabel, long x) throws SQLException
Updates the designated column with alongvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateFloat
void updateFloat(String columnLabel, float x) throws SQLException
Updates the designated column with afloatvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateDouble
void updateDouble(String columnLabel, double x) throws SQLException
Updates the designated column with adoublevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBigDecimal
void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException
Updates the designated column with ajava.sql.BigDecimalvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateString
void updateString(String columnLabel, String x) throws SQLException
Updates the designated column with aStringvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBytes
void updateBytes(String columnLabel, byte[] x) throws SQLException
Updates the designated column with a byte array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateDate
void updateDate(String columnLabel, Date x) throws SQLException
Updates the designated column with ajava.sql.Datevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateTime
void updateTime(String columnLabel, Time x) throws SQLException
Updates the designated column with ajava.sql.Timevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateTimestamp
void updateTimestamp(String columnLabel, Timestamp x) throws SQLException
Updates the designated column with ajava.sql.Timestampvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- thejava.io.Readerobject containing the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateObject
void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException
Updates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.If the second argument is an
InputStreamthen the stream must contain the number of bytes specified by scaleOrLength. If the second argument is aReaderthen the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate aSQLExceptionwhen the statement is executed.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column valuescaleOrLength- for an object ofjava.math.BigDecimal, this is the number of digits after the decimal point. For Java Object typesInputStreamandReader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateObject
void updateObject(String columnLabel, Object x) throws SQLException
Updates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
insertRow
void insertRow() throws SQLExceptionInserts the contents of the insert row into thisResultSetobject and into the database. The cursor must be on the insert row when this method is called.- Throws:
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY, this method is called on a closed result set, if this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a non-null valueSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
updateRow
void updateRow() throws SQLExceptionUpdates the underlying database with the new contents of the current row of thisResultSetobject. This method cannot be called when the cursor is on the insert row.- Throws:
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert rowSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
deleteRow
void deleteRow() throws SQLExceptionDeletes the current row from thisResultSetobject and from the underlying database. This method cannot be called when the cursor is on the insert row.- Throws:
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert rowSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
refreshRow
void refreshRow() throws SQLExceptionRefreshes the current row with its most recent value in the database. This method cannot be called when the cursor is on the insert row.The
refreshRowmethod provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to callrefreshRowwhen caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one.All values are refetched subject to the transaction isolation level and cursor sensitivity. If
refreshRowis called after calling an updater method, but before calling the methodupdateRow, then the updates made to the row are lost. Calling the methodrefreshRowfrequently will likely slow performance.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set; the result set type isTYPE_FORWARD_ONLYor if this method is called when the cursor is on the insert rowSQLFeatureNotSupportedException- if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency.- Since:
- 1.2
cancelRowUpdates
void cancelRowUpdates() throws SQLExceptionCancels the updates made to the current row in thisResultSetobject. This method may be called after calling an updater method(s) and before calling the methodupdateRowto roll back the updates made to a row. If no updates have been made orupdateRowhas already been called, this method has no effect.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if this method is called when the cursor is on the insert rowSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
moveToInsertRow
void moveToInsertRow() throws SQLExceptionMoves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updater methods prior to inserting the row into the result set. Only the updater, getter, andinsertRowmethods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before callinginsertRow. An updater method must be called before a getter method can be called on a column value.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
moveToCurrentRow
void moveToCurrentRow() throws SQLExceptionMoves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.- Throws:
SQLException- if a database access error occurs; this method is called on a closed result set or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getStatement
Statement getStatement() throws SQLException
Retrieves theStatementobject that produced thisResultSetobject. If the result set was generated some other way, such as by aDatabaseMetaDatamethod, this method may returnnull.- Returns:
- the
Statmentobject that produced thisResultSetobject ornullif the result set was produced some other way - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getObject
Object getObject(int columnIndex, Map<String,Class<?>> map) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language. If the value is an SQLNULL, the driver returns a Javanull. This method uses the givenMapobject for the custom mapping of the SQL structured or distinct type that is being retrieved.- Parameters:
columnIndex- the first column is 1, the second is 2, ...map- ajava.util.Mapobject that contains the mapping from SQL type names to classes in the Java programming language- Returns:
- an
Objectin the Java programming language representing the SQL value - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getRef
Ref getRef(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
Refobject representing an SQLREFvalue - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getBlob
Blob getBlob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
Blobobject representing the SQLBLOBvalue in the specified column - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getClob
Clob getClob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
Clobobject representing the SQLCLOBvalue in the specified column - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getArray
Array getArray(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- an
Arrayobject representing the SQLARRAYvalue in the specified column - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getObject
Object getObject(String columnLabel, Map<String,Class<?>> map) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language. If the value is an SQLNULL, the driver returns a Javanull. This method uses the specifiedMapobject for custom mapping if appropriate.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnmap- ajava.util.Mapobject that contains the mapping from SQL type names to classes in the Java programming language- Returns:
- an
Objectrepresenting the SQL value in the specified column - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getRef
Ref getRef(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
Refobject representing the SQLREFvalue in the specified column - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getBlob
Blob getBlob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
Blobobject representing the SQLBLOBvalue in the specified column - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getClob
Clob getClob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
Clobobject representing the SQLCLOBvalue in the specified column - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getArray
Array getArray(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- an
Arrayobject representing the SQLARRAYvalue in the specified column - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
getDate
Date getDate(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.- Parameters:
columnIndex- the first column is 1, the second is 2, ...cal- thejava.util.Calendarobject to use in constructing the date- Returns:
- the column value as a
java.sql.Dateobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getDate
Date getDate(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columncal- thejava.util.Calendarobject to use in constructing the date- Returns:
- the column value as a
java.sql.Dateobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getTime
Time getTime(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.- Parameters:
columnIndex- the first column is 1, the second is 2, ...cal- thejava.util.Calendarobject to use in constructing the time- Returns:
- the column value as a
java.sql.Timeobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getTime
Time getTime(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columncal- thejava.util.Calendarobject to use in constructing the time- Returns:
- the column value as a
java.sql.Timeobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getTimestamp
Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.- Parameters:
columnIndex- the first column is 1, the second is 2, ...cal- thejava.util.Calendarobject to use in constructing the timestamp- Returns:
- the column value as a
java.sql.Timestampobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getTimestamp
Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columncal- thejava.util.Calendarobject to use in constructing the date- Returns:
- the column value as a
java.sql.Timestampobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid or if a database access error occurs or this method is called on a closed result set- Since:
- 1.2
getURL
URL getURL(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.- Parameters:
columnIndex- the index of the column 1 is the first, 2 is the second,...- Returns:
- the column value as a
java.net.URLobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; this method is called on a closed result set or if a URL is malformedSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
getURL
URL getURL(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value as a
java.net.URLobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; this method is called on a closed result set or if a URL is malformedSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateRef
void updateRef(int columnIndex, Ref x) throws SQLExceptionUpdates the designated column with ajava.sql.Refvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateRef
void updateRef(String columnLabel, Ref x) throws SQLException
Updates the designated column with ajava.sql.Refvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateBlob
void updateBlob(int columnIndex, Blob x) throws SQLExceptionUpdates the designated column with ajava.sql.Blobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateBlob
void updateBlob(String columnLabel, Blob x) throws SQLException
Updates the designated column with ajava.sql.Blobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateClob
void updateClob(int columnIndex, Clob x) throws SQLExceptionUpdates the designated column with ajava.sql.Clobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateClob
void updateClob(String columnLabel, Clob x) throws SQLException
Updates the designated column with ajava.sql.Clobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateArray
void updateArray(int columnIndex, Array x) throws SQLExceptionUpdates the designated column with ajava.sql.Arrayvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
updateArray
void updateArray(String columnLabel, Array x) throws SQLException
Updates the designated column with ajava.sql.Arrayvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
getRowId
RowId getRowId(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second 2, ...- Returns:
- the column value; if the value is a SQL
NULLthe value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getRowId
RowId getRowId(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value ; if the value is a SQL
NULLthe value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateRowId
void updateRowId(int columnIndex, RowId x) throws SQLExceptionUpdates the designated column with aRowIdvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second 2, ...x- the column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateRowId
void updateRowId(String columnLabel, RowId x) throws SQLException
Updates the designated column with aRowIdvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getHoldability
int getHoldability() throws SQLExceptionRetrieves the holdability of thisResultSetobject- Returns:
- either
ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT - Throws:
SQLException- if a database access error occurs or this method is called on a closed result set- Since:
- 1.6
isClosed
boolean isClosed() throws SQLExceptionRetrieves whether thisResultSetobject has been closed. AResultSetis closed if the method close has been called on it, or if it is automatically closed.- Returns:
- true if this
ResultSetobject is closed; false if it is still open - Throws:
SQLException- if a database access error occurs- Since:
- 1.6
updateNString
void updateNString(int columnIndex, String nString) throws SQLExceptionUpdates the designated column with aStringvalue. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second 2, ...nString- the value for the column to be updated- Throws:
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNString
void updateNString(String columnLabel, String nString) throws SQLException
Updates the designated column with aStringvalue. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnnString- the value for the column to be updated- Throws:
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(int columnIndex, NClob nClob) throws SQLExceptionUpdates the designated column with ajava.sql.NClobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second 2, ...nClob- the value for the column to be updated- Throws:
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(String columnLabel, NClob nClob) throws SQLException
Updates the designated column with ajava.sql.NClobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnnClob- the value for the column to be updated- Throws:
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNClob
NClob getNClob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
NClobobject representing the SQLNCLOBvalue in the specified column - Throws:
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNClob
NClob getNClob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
NClobobject representing the SQLNCLOBvalue in the specified column - Throws:
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getSQLXML
SQLXML getSQLXML(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
SQLXMLobject that maps anSQL XMLvalue - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getSQLXML
SQLXML getSQLXML(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
SQLXMLobject that maps anSQL XMLvalue - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateSQLXML
void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLExceptionUpdates the designated column with ajava.sql.SQLXMLvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second 2, ...xmlObject- the value for the column to be updated- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; this method is called on a closed result set; thejava.xml.transform.Result,WriterorOutputStreamhas not been closed for theSQLXMLobject; if there is an error processing the XML value or the result set concurrency isCONCUR_READ_ONLY. ThegetCausemethod of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.SQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateSQLXML
void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException
Updates the designated column with ajava.sql.SQLXMLvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnxmlObject- the column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; this method is called on a closed result set; thejava.xml.transform.Result,WriterorOutputStreamhas not been closed for theSQLXMLobject; if there is an error processing the XML value or the result set concurrency isCONCUR_READ_ONLY. ThegetCausemethod of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.SQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNString
String getNString(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNString
String getNString(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- the column value; if the value is SQL
NULL, the value returned isnull - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNCharacterStream
Reader getNCharacterStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
columnIndex- the first column is 1, the second is 2, ...- Returns:
- a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language. - Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getNCharacterStream
Reader getNCharacterStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column- Returns:
- a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNCharacterStream
void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNCharacterStream
void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- thejava.io.Readerobject containing the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLExceptionUpdates the designated column with an ascii stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLExceptionUpdates the designated column with a binary stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- thejava.io.Readerobject containing the new column valuelength- the length of the stream- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBlob
void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLExceptionUpdates the designated column using the given input stream, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...inputStream- An object that contains the data to set the parameter value to.length- the number of bytes in the parameter data.- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBlob
void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException
Updates the designated column using the given input stream, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columninputStream- An object that contains the data to set the parameter value to.length- the number of bytes in the parameter data.- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateClob
void updateClob(int columnIndex, Reader reader, long length) throws SQLExceptionUpdates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second is 2, ...reader- An object that contains the data to set the parameter value to.length- the number of characters in the parameter data.- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateClob
void updateClob(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- An object that contains the data to set the parameter value to.length- the number of characters in the parameter data.- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(int columnIndex, Reader reader, long length) throws SQLExceptionUpdates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnIndex- the first column is 1, the second 2, ...reader- An object that contains the data to set the parameter value to.length- the number of characters in the parameter data.- Throws:
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- An object that contains the data to set the parameter value to.length- the number of characters in the parameter data.- Throws:
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNCharacterStream
void updateNCharacterStream(int columnIndex, Reader x) throws SQLExceptionUpdates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNCharacterStreamwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNCharacterStream
void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException
Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNCharacterStreamwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- thejava.io.Readerobject containing the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x) throws SQLExceptionUpdates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateAsciiStreamwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x) throws SQLExceptionUpdates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBinaryStreamwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x) throws SQLExceptionUpdates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateCharacterStreamwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...x- the new column value- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x) throws SQLException
Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateAsciiStreamwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x) throws SQLException
Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBinaryStreamwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx- the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader) throws SQLException
Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateCharacterStreamwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- thejava.io.Readerobject containing the new column value- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBlob
void updateBlob(int columnIndex, InputStream inputStream) throws SQLExceptionUpdates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBlobwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...inputStream- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateBlob
void updateBlob(String columnLabel, InputStream inputStream) throws SQLException
Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBlobwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columninputStream- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateClob
void updateClob(int columnIndex, Reader reader) throws SQLExceptionUpdates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateClobwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second is 2, ...reader- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateClob
void updateClob(String columnLabel, Reader reader) throws SQLException
Updates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateClobwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result setSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(int columnIndex, Reader reader) throws SQLExceptionUpdates the designated column using the givenReaderThe data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNClobwhich takes a length parameter.- Parameters:
columnIndex- the first column is 1, the second 2, ...reader- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
updateNClob
void updateNClob(String columnLabel, Reader reader) throws SQLException
Updates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNClobwhich takes a length parameter.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader- An object that contains the data to set the parameter value to.- Throws:
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLYSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.6
getObject
<T> T getObject(int columnIndex, Class<T> type) throws SQLExceptionRetrieves the value of the designated column in the current row of this
ResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLExceptionis thrown.At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements
SQLData, orStruct. Additional conversions may be supported and are vendor defined.- Parameters:
columnIndex- the first column is 1, the second is 2, ...type- Class representing the Java data type to convert the designated column to.- Returns:
- an instance of
typeholding the column value - Throws:
SQLException- if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.7
getObject
<T> T getObject(String columnLabel, Class<T> type) throws SQLException
Retrieves the value of the designated column in the current row of this
ResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLExceptionis thrown.At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements
SQLData, orStruct. Additional conversions may be supported and are vendor defined.- Parameters:
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columntype- Class representing the Java data type to convert the designated column to.- Returns:
- an instance of
typeholding the column value - Throws:
SQLException- if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.7
ResultSet详解(转)的更多相关文章
- Java 中的resultset详解
结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. 结果集读取数据 ...
- (转)Spring JdbcTemplate 方法详解
Spring JdbcTemplate方法详解 文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 JdbcTemplate主要提供 ...
- PHP PDO函数库详解
PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.目前而言,实现“ ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- Java和Ibatis调用存储过程并取得返回值详解
Java和Ibatis调用存储过程并取得返回值详解 2011-07-19 17:33 jiandanfeng2 CSDN博客 字号:T | T 本文主要介绍了Java和Ibatis调用存储过程的方法, ...
- Java程序员从笨鸟到菜鸟之(一百零二)sql注入攻击详解(三)sql注入解决办法
sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办法.怎么来解决和防范sql注入, ...
- Tomcat 6 JNDI数据源详解
数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制. 最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的 ...
- JDBC常用接口详解
JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...
- 常见 jar包详解
常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期 ...
随机推荐
- 去掉Chrome手机版首屏的“推荐的文章”
百度可得很多类似的文章,然而都是失效的,,比如此文,本文演示所使用的Chrome版本为59. 百度所得的解决办法都是同一个,排版,截图都是一样的,害我浪费了不少力气. 第一,转载文章未标明文章出处: ...
- 【动态规划】【记忆化搜索】CODEVS 1010 过河卒 2002年NOIP全国联赛普及组
f(i,j)=f(i-1,j)+f(i,j-1),显然可以暴力递归求解,但是很多重复的状态,所以可以记忆下来. 注意障碍点和边界的特判. #include<cstdio> #include ...
- 1.6(Spring MVC学习笔记)文件上传与下载
一.文件上传 实现文件上传多数是采用表单提交数据, 但对于进行文件上传的表单需要满足一下几个条件 1.表单的method设置为post 2.表单的enctype设置为multipart/form-da ...
- iOS 读取Json 代码
保存一下iOS 读取Json的代码,留着以后Copy用,哈哈. NSString* path = [[NSBundle mainBundle] pathForResource: @"Sand ...
- Mybatis更新用户
xml配置 <!--更新用户 --> <update id="updateUserById" parameterType="com.itheima.my ...
- 【C语言】 Linux下编译提示pow未定义引用
如下代码: #include <stdio.h> // 调用基本输入输出函数库 #include <math.h> #define PI 3.14 // 定义常量 float ...
- cocos2dx -lua 面向对象-转
转自:http://www.himigame.com/lua-game/1282.html 上一篇中,向童鞋们介绍了如何自定义类binding到Lua中供给使用的教程,那么本篇将介绍利用OOP思想在在 ...
- 腾讯云会话服务器node+nginx
1.除了一个正常的服务器还需要一个会话服务器(websocket),利用node加socket.io来做 2.正常安装Nginx yum install nginx 3.Nginx的配置内容略微不同( ...
- android中实现内容搜索
在编写android搜索代码的时候,怎样去实现搜索功能,考虑中的有两种: 自己定义搜索方法: 1.自己定义搜索输入框,搜索图标,搜索button 2.自己定义语音输入方法 3.自己定义经常使用热词内容 ...
- [转载]Oracle Merge的使用
FROM: http://zhangqchang.blog.163.com/blog/static/464989732009219114653226/ 摘至网上的几个例子 一.************ ...