java.sql.ResultSet
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 //
NAME
column of row 5 to beAINSWORTH
rs.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 be
AINSWORTH
rs.updateInt(2,35); // updates the second column to be35
rs.updateBoolean(3, true); // updates the third column totrue
rs.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
- 如果发生数据库访问错误