|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
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 查询中使用列名称时,将使用列名称选项。对于没有在查询中显式指定的列,最好使用列编号。如果使用列名称,则程序员应该注意保证名称唯一引用预期的列,这可以使用 SQL AS 子句确定。
在 JDBC 2.0 API(JavaTM 2 SDK 标准版 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 be AINSWORTH
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 be 35
rs.updateBoolean(3, true); // updates the third column to true
rs.insertRow();
rs.moveToCurrentRow();
当生成 ResultSet 对象的 Statement 对象关闭、重新执行或用来从多个结果的序列获取下一个结果时,ResultSet 对象将自动关闭。
ResultSet 对象的列的编号、类型和属性由 ResultSet.getMetaData 方法返回的 ResulSetMetaData 对象提供。
Statement.executeQuery(java.lang.String),
Statement.getResultSet(),
ResultSetMetaData| 字段摘要 | |
|---|---|
static int |
CLOSE_CURSORS_AT_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
该常量指示提交当前事务时,具有此可保存性的打开的 ResultSet 对象将保持开放。 |
static int |
TYPE_FORWARD_ONLY
该常量指示光标只能向前移动的 ResultSet 对象的类型。 |
static int |
TYPE_SCROLL_INSENSITIVE
该常量指示可滚动但通常不受 ResultSet 底层数据更改影响的 ResultSet 对象的类型。 |
static int |
TYPE_SCROLL_SENSITIVE
该常量指示可滚动并且通常受 ResultSet 底层数据更改影响的 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 columnLabel)
将给定的 ResultSet 列标签映射到其 ResultSet 列索引。 |
boolean |
first()
将光标移动到此 ResultSet 对象的第一行。 |
Array |
getArray(int columnIndex)
以 Java 编程语言中 Array 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Array |
getArray(String columnLabel)
以 Java 编程语言中 Array 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getAsciiStream(int columnIndex)
以 ASCII 字符流的形式获取此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getAsciiStream(String columnLabel)
以 ASCII 字符流的形式获取此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex)
以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex,
int scale)
已过时。 |
BigDecimal |
getBigDecimal(String columnLabel)
以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
BigDecimal |
getBigDecimal(String columnLabel,
int scale)
已过时。 |
InputStream |
getBinaryStream(int columnIndex)
以未解释字节的流的形式获取此 ResultSet 对象的当前行中指定列的值。 |
InputStream |
getBinaryStream(String columnLabel)
以未解释的 byte 流的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Blob |
getBlob(int columnIndex)
以 Java 编程语言中 Blob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Blob |
getBlob(String columnLabel)
以 Java 编程语言中 Blob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
boolean |
getBoolean(int columnIndex)
以 Java 编程语言中 boolean 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
boolean |
getBoolean(String columnLabel)
以 Java 编程语言中 boolean 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
byte |
getByte(int columnIndex)
以 Java 编程语言中 byte 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
byte |
getByte(String columnLabel)
以 Java 编程语言中 byte 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
byte[] |
getBytes(int columnIndex)
以 Java 编程语言中 byte 数组的形式获取此 ResultSet 对象的当前行中指定列的值。 |
byte[] |
getBytes(String columnLabel)
以 Java 编程语言中 byte 数组的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Reader |
getCharacterStream(int columnIndex)
以 java.io.Reader 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Reader |
getCharacterStream(String columnLabel)
以 java.io.Reader 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Clob |
getClob(int columnIndex)
以 Java 编程语言中 Clob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Clob |
getClob(String columnLabel)
以 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 columnLabel)
以 Java 编程语言中的 java.sql.Date 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Date |
getDate(String columnLabel,
Calendar cal)
以 Java 编程语言中 java.sql.Date 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
double |
getDouble(int columnIndex)
以 Java 编程语言中 double 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
double |
getDouble(String columnLabel)
以 Java 编程语言中 double 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
int |
getFetchDirection()
获取此 ResultSet 对象的获取方向。 |
int |
getFetchSize()
获取此 ResultSet 对象的获取大小。 |
float |
getFloat(int columnIndex)
以 Java 编程语言中 float 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
float |
getFloat(String columnLabel)
以 Java 编程语言中 float 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
int |
getHoldability()
获取此 ResultSet 对象的可保存性 |
int |
getInt(int columnIndex)
以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
int |
getInt(String columnLabel)
以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
long |
getLong(int columnIndex)
以 Java 编程语言中 long 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
long |
getLong(String columnLabel)
以 Java 编程语言中 long 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
ResultSetMetaData |
getMetaData()
获取此 ResultSet 对象的列的编号、类型和属性。 |
Reader |
getNCharacterStream(int columnIndex)
以 java.io.Reader 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Reader |
getNCharacterStream(String columnLabel)
以 java.io.Reader 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
NClob |
getNClob(int columnIndex)
以 Java 编程语言中 NClob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
NClob |
getNClob(String columnLabel)
以 Java 编程语言中 NClob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
String |
getNString(int columnIndex)
以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
String |
getNString(String columnLabel)
以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(int columnIndex)
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(int columnIndex,
Map<String,Class<?>> map)
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(String columnLabel)
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Object |
getObject(String columnLabel,
Map<String,Class<?>> map)
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Ref |
getRef(int columnIndex)
以 Java 编程语言中 Ref 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Ref |
getRef(String columnLabel)
以 Java 编程语言中 Ref 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
int |
getRow()
获取当前行编号。 |
RowId |
getRowId(int columnIndex)
以 Java 编程语言中 java.sql.RowId 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
RowId |
getRowId(String columnLabel)
以 Java 编程语言中 java.sql.RowId 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
short |
getShort(int columnIndex)
以 Java 编程语言中 short 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
short |
getShort(String columnLabel)
以 Java 编程语言中 short 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
SQLXML |
getSQLXML(int columnIndex)
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
SQLXML |
getSQLXML(String columnLabel)
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Statement |
getStatement()
获取生成此 ResultSet 对象的 Statement 对象。 |
String |
getString(int columnIndex)
以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。 |
String |
getString(String columnLabel)
以 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 columnLabel)
以 Java 编程语言中 java.sql.Time 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Time |
getTime(String columnLabel,
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 columnLabel)
以 Java 编程语言中 java.sql.Timestamp 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
Timestamp |
getTimestamp(String columnLabel,
Calendar cal)
以 Java 编程语言中 java.sql.Timestamp 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
int |
getType()
获取此 ResultSet 对象的类型。 |
InputStream |
getUnicodeStream(int columnIndex)
已过时。 使用 getCharacterStream 取代 getUnicodeStream |
InputStream |
getUnicodeStream(String columnLabel)
已过时。 使用 getCharacterStream 代替 |
URL |
getURL(int columnIndex)
以 Java 编程语言中 java.net.URL 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
URL |
getURL(String columnLabel)
以 Java 编程语言中 java.net.URL 对象的形式获取此 ResultSet 对象的当前行中指定列的值。 |
SQLWarning |
getWarnings()
获取此 ResultSet 对象上的调用报告的第一个警告。 |
void |
insertRow()
将插入行的内容插入到此 ResultSet 对象和数据库中。 |
boolean |
isAfterLast()
获取光标是否位于此 ResultSet 对象的最后一行之后。 |
boolean |
isBeforeFirst()
获取光标是否位于此 ResultSet 对象的第一行之前。 |
boolean |
isClosed()
获取此 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 columnLabel,
Array x)
用 java.sql.Array 值更新指定列。 |
void |
updateAsciiStream(int columnIndex,
InputStream x)
用 ascii 流值更新指定的列。 |
void |
updateAsciiStream(int columnIndex,
InputStream x,
int length)
用 ascii 流值更新指定列,该列将具有指定字节数。 |
void |
updateAsciiStream(int columnIndex,
InputStream x,
long length)
用 ascii 流值更新指定的列,该值将具有指定的字节数。 |
void |
updateAsciiStream(String columnLabel,
InputStream x)
用 ascii 流值更新指定列。 |
void |
updateAsciiStream(String columnLabel,
InputStream x,
int length)
用 ascii 流值更新指定列,该列具有指定的字节数。 |
void |
updateAsciiStream(String columnLabel,
InputStream x,
long length)
用 ascii 流值更新指定的列,该值将具有指定的字节数。 |
void |
updateBigDecimal(int columnIndex,
BigDecimal x)
用 java.math.BigDecimal 值更新指定列。 |
void |
updateBigDecimal(String columnLabel,
BigDecimal x)
用 java.sql.BigDecimal 值更新指定列。 |
void |
updateBinaryStream(int columnIndex,
InputStream x)
用二进制流值更新指定的列。 |
void |
updateBinaryStream(int columnIndex,
InputStream x,
int length)
用二进制流值更新指定列,该列将具有指定字节数。 |
void |
updateBinaryStream(int columnIndex,
InputStream x,
long length)
用二进制流值更新指定的列,该值将具有指定的字节数。 |
void |
updateBinaryStream(String columnLabel,
InputStream x)
用二进制流值更新指定列。 |
void |
updateBinaryStream(String columnLabel,
InputStream x,
int length)
用二进制流值更新指定列,该列具有指定的字节数。 |
void |
updateBinaryStream(String columnLabel,
InputStream x,
long length)
用二进制流值更新指定的列,该值将具有指定的字节数。 |
void |
updateBlob(int columnIndex,
Blob x)
用 java.sql.Blob 值更新指定列。 |
void |
updateBlob(int columnIndex,
InputStream inputStream)
使用给定输入流值更新指定列。 |
void |
updateBlob(int columnIndex,
InputStream inputStream,
long length)
使用给定输入流更新指定的列,该流将具有指定的字节数。 |
void |
updateBlob(String columnLabel,
Blob x)
用 java.sql.Blob 值更新指定列。 |
void |
updateBlob(String columnLabel,
InputStream inputStream)
使用给定输入流值更新指定列。 |
void |
updateBlob(String columnLabel,
InputStream inputStream,
long length)
使用给定输入流更新指定列,该流将具有指定的字节数。 |
void |
updateBoolean(int columnIndex,
boolean x)
用 boolean 值更新指定列。 |
void |
updateBoolean(String columnLabel,
boolean x)
用 boolean 值更新指定列。 |
void |
updateByte(int columnIndex,
byte x)
用 byte 值更新指定列。 |
void |
updateByte(String columnLabel,
byte x)
用 byte 值更新指定列。 |
void |
updateBytes(int columnIndex,
byte[] x)
用 byte 数组值更新指定列。 |
void |
updateBytes(String columnLabel,
byte[] x)
用字节数组值更新指定列。 |
void |
updateCharacterStream(int columnIndex,
Reader x)
用字符流值更新指定的列。 |
void |
updateCharacterStream(int columnIndex,
Reader x,
int length)
用字符流值更新指定列,该列将具有指定字节数。 |
void |
updateCharacterStream(int columnIndex,
Reader x,
long length)
用字符流值更新指定的列,该值将具有指定的字节数。 |
void |
updateCharacterStream(String columnLabel,
Reader reader)
用字符流值更新指定列。 |
void |
updateCharacterStream(String columnLabel,
Reader reader,
int length)
用字符流值更新指定列,该列具有指定的字节数。 |
void |
updateCharacterStream(String columnLabel,
Reader reader,
long length)
用字符流值更新指定的列,该值将具有指定的字节数。 |
void |
updateClob(int columnIndex,
Clob x)
用 java.sql.Clob 值更新指定列。 |
void |
updateClob(int columnIndex,
Reader reader)
使用给定的 Reader 对象更新指定列。 |
void |
updateClob(int columnIndex,
Reader reader,
long length)
使用给定的 Reader 对象更新指定列,该对象是给定的字符长度数目。 |
void |
updateClob(String columnLabel,
Clob x)
用 java.sql.Clob 值更新指定列。 |
void |
updateClob(String columnLabel,
Reader reader)
使用给定的 Reader 对象更新指定列。 |
void |
updateClob(String columnLabel,
Reader reader,
long length)
使用给定的 Reader 对象更新指定列,该对象是给定的字符长度数目。 |
void |
updateDate(int columnIndex,
Date x)
用 java.sql.Date 值更新指定列。 |
void |
updateDate(String columnLabel,
Date x)
用 java.sql.Date 值更新指定列。 |
void |
updateDouble(int columnIndex,
double x)
用 double 值更新指定列。 |
void |
updateDouble(String columnLabel,
double x)
用 double 值更新指定列。 |
void |
updateFloat(int columnIndex,
float x)
用 float 值更新指定列。 |
void |
updateFloat(String columnLabel,
float x)
用 float 值更新指定列。 |
void |
updateInt(int columnIndex,
int x)
用 int 值更新指定列。 |
void |
updateInt(String columnLabel,
int x)
用 int 值更新指定列。 |
void |
updateLong(int columnIndex,
long x)
用 long 值更新指定列。 |
void |
updateLong(String columnLabel,
long x)
用 long 值更新指定列。 |
void |
updateNCharacterStream(int columnIndex,
Reader x)
用字符流值更新指定的列。 |
void |
updateNCharacterStream(int columnIndex,
Reader x,
long length)
用字符流值更新指定的列,该值将具有指定的字节数。 |
void |
updateNCharacterStream(String columnLabel,
Reader reader)
用字符流值更新指定的列。 |
void |
updateNCharacterStream(String columnLabel,
Reader reader,
long length)
用字符流值更新指定的列,该值将具有指定的字节数。 |
void |
updateNClob(int columnIndex,
NClob nClob)
用 java.sql.NClob 值更新指定的列。 |
void |
updateNClob(int columnIndex,
Reader reader)
使用给定的 Reader 对象更新指定列。 |
void |
updateNClob(int columnIndex,
Reader reader,
long length)
使用给定的 Reader 对象更新指定的列,该对象是给定的字符长度数目。 |
void |
updateNClob(String columnLabel,
NClob nClob)
用 java.sql.NClob 值更新指定的列。 |
void |
updateNClob(String columnLabel,
Reader reader)
使用给定的 Reader 对象更新指定列。 |
void |
updateNClob(String columnLabel,
Reader reader,
long length)
使用给定的 Reader 对象更新指定的列,该对象是给定的字符长度数目。 |
void |
updateNString(int columnIndex,
String nString)
用 String 值更新指定的列。 |
void |
updateNString(String columnLabel,
String nString)
用 String 值更新指定的列。 |
void |
updateNull(int columnIndex)
用 null 值更新指定列。 |
void |
updateNull(String columnLabel)
用 null 值更新指定列。 |
void |
updateObject(int columnIndex,
Object x)
用 Object 值更新指定列。 |
void |
updateObject(int columnIndex,
Object x,
int scaleOrLength)
用 Object 值更新指定列。 |
void |
updateObject(String columnLabel,
Object x)
用 Object 值更新指定列。 |
void |
updateObject(String columnLabel,
Object x,
int scaleOrLength)
用 Object 值更新指定列。 |
void |
updateRef(int columnIndex,
Ref x)
用 java.sql.Ref 值更新指定列。 |
void |
updateRef(String columnLabel,
Ref x)
用 java.sql.Ref 值更新指定列。 |
void |
updateRow()
用此 ResultSet 对象的当前行的新内容更新底层数据库。 |
void |
updateRowId(int columnIndex,
RowId x)
用 RowId 值更新指定列。 |
void |
updateRowId(String columnLabel,
RowId x)
用 RowId 值更新指定的列。 |
void |
updateShort(int columnIndex,
short x)
用 short 值更新指定列。 |
void |
updateShort(String columnLabel,
short x)
用 short 值更新指定列。 |
void |
updateSQLXML(int columnIndex,
SQLXML xmlObject)
用 java.sql.SQLXML 值更新指定列。 |
void |
updateSQLXML(String columnLabel,
SQLXML xmlObject)
用 java.sql.SQLXML 值更新指定的列。 |
void |
updateString(int columnIndex,
String x)
用 String 值更新指定列。 |
void |
updateString(String columnLabel,
String x)
用 String 值更新指定列。 |
void |
updateTime(int columnIndex,
Time x)
用 java.sql.Time 值更新指定列。 |
void |
updateTime(String columnLabel,
Time x)
用 java.sql.Time 值更新指定列。 |
void |
updateTimestamp(int columnIndex,
Timestamp x)
用 java.sql.Timestamp 值更新指定列。 |
void |
updateTimestamp(String columnLabel,
Timestamp x)
用 java.sql.Timestamp 值更新指定列。 |
boolean |
wasNull()
报告最后一个读取的列是否具有值 SQL NULL。 |
| 从接口 java.sql.Wrapper 继承的方法 |
|---|
isWrapperFor, unwrap |
| 字段详细信息 |
|---|
static final int FETCH_FORWARD
setFetchDirection 方法将此常量用作驱动程序的提示,驱动程序可能忽略它。
static final int FETCH_REVERSE
setFetchDirection 方法将此常量用作驱动程序的提示,驱动程序可能忽略它。
static final int FETCH_UNKNOWN
setFetchDirection 方法将此常量用作驱动程序的提示,驱动程序可能忽略它。
static final int TYPE_FORWARD_ONLY
ResultSet 对象的类型。
static final int TYPE_SCROLL_INSENSITIVE
ResultSet 底层数据更改影响的 ResultSet 对象的类型。
static final int TYPE_SCROLL_SENSITIVE
ResultSet 底层数据更改影响的 ResultSet 对象的类型。
static final int CONCUR_READ_ONLY
ResultSet 对象的并发模式。
static final int CONCUR_UPDATABLE
ResultSet 对象的并发模式。
static final int HOLD_CURSORS_OVER_COMMIT
ResultSet 对象将保持开放。
static final int CLOSE_CURSORS_AT_COMMIT
ResultSet 对象将被关闭。
| 方法详细信息 |
|---|
boolean next()
throws SQLException
ResultSet 光标最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。
当调用 next 方法返回 false 时,光标位于最后一行的后面。任何要求当前行的 ResultSet 方法调用将导致抛出 SQLException。如果结果集的类型是 TYPE_FORWARD_ONLY,则其 JDBC 驱动程序实现对后续 next 调用是返回 false 还是抛出 SQLException 将由供应商指定。
如果对当前行开启了输入流,则调用 next 方法将隐式关闭它。读取新行时,将清除 ResultSet 对象的警告链。
true;如果不存在下一行,则返回 false
SQLException - 如果发生数据库访问错误或在关闭的结果集上调用此方法
void close()
throws SQLException
ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。
关闭 ResultSet 对象不会关闭 ResultSet 创建的 Blob、Clob 或 NClob 对象。Blob、Clob 或 NClob 对象至少在创建它们的事务期间持续有效,除非调用了其 free 方法。
当关闭 ResultSet 时,所有通过调用 getMetaData 方法创建的 ResultSetMetaData 实例都可以访问。
注:当生成 ResultSet 对象的 Statement 对象关闭、重新执行或用来从多个结果的序列获取下一个结果时,该 Statement 对象将自动关闭 ResultSet 对象。
在已关闭的 ResultSet 对象上调用 close 方法是无操作 (no-op)。
SQLException - 如果发生数据库访问错误
boolean wasNull()
throws SQLException
NULL。注意,必须首先对列调用一个获取方法尝试读取其值,然后调用 wasNull 方法查看读取的值是否为 SQL NULL。
NULL,则返回 true;否则返回 false
SQLException - 如果发生数据库访问错误或在已关闭的结果集上调用此方法
String getString(int columnIndex)
throws SQLException
String 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
boolean getBoolean(int columnIndex)
throws SQLException
boolean 的形式获取此 ResultSet 对象的当前行中指定列的值。
如果指定列的数据类型为 CHAR 或 VARCHAR 且包含 "0",或者数据类型为 BIT、TINYINT、SMALLINT、INTEGER 或 BIGINT 且包含 0,则返回 false 值。如果指定列的数据类型为 CHAR 或 VARCHAR 且包含 "1",或者数据类型为 BIT、TINYINT、SMALLINT、INTEGER 或 BIGINT 且包含 1,则返回 true 值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 false
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
byte getByte(int columnIndex)
throws SQLException
byte 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
short getShort(int columnIndex)
throws SQLException
short 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
int getInt(int columnIndex)
throws SQLException
int 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
long getLong(int columnIndex)
throws SQLException
long 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
float getFloat(int columnIndex)
throws SQLException
float 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
double getDouble(int columnIndex)
throws SQLException
double 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 0
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
BigDecimal getBigDecimal(int columnIndex,
int scale)
throws SQLException
java.sql.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……scale - 小数点右边的位数
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
byte[] getBytes(int columnIndex)
throws SQLException
byte 数组的形式获取此 ResultSet 对象的当前行中指定列的值。这些字节表示驱动程序返回的原始值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
Date getDate(int columnIndex)
throws SQLException
java.sql.Date 对象的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
Time getTime(int columnIndex)
throws SQLException
java.sql.Time 对象的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
Timestamp getTimestamp(int columnIndex)
throws SQLException
java.sql.Timestamp 对象的形式获取此 ResultSet 对象的当前行中指定列的值。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
InputStream getAsciiStream(int columnIndex)
throws SQLException
ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于获取很大的 注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
InputStream getUnicodeStream(int columnIndex)
throws SQLException
getCharacterStream 取代 getUnicodeStream
ResultSet 对象的当前行中指定列的值。第一个字节是高字节;第二个字节是低字节。然后,可以按块从流中读取值。此方法尤其适合于获取很大的 LONGVARCHAR 值。JDBC 驱动程序将执行从数据库格式到 Unicode 的任何必要转换。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。
columnIndex - 第一个列是 1,第二个列是 2,……
NULL,则返回值为 null
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
InputStream getBinaryStream(int columnIndex)
throws SQLException
ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于获取很大的 LONGVARBINARY 值。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0