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 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 对象提供。
字段摘要
static int
Connection.commit 方法时应该关闭 ResultSet 对象。
static int
ResultSet 对象的并发模式。
static int
ResultSet 对象的并发模式。
static int
static int
static int
static int
Connection.commit 方法时不应关闭 ResultSet 对象。
static int
ResultSet 对象的类型。
static int
ResultSet 对象的类型。
static int
ResultSet 对象的类型。
方法摘要
boolean
将指针移动到此 ResultSet 对象的给定行编号。
void
ResultSet 对象的末尾,正好位于最后一行之后。
void
ResultSet 对象的开头,正好位于第一行之前。
void
ResultSet 对象中的当前行所作的更新。
void
ResultSet 对象上报告的所有警告。
void
ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。
void
ResultSet 对象和底层数据库中删除当前行。
int
ResultSet 列名称映射到其 ResultSet 列索引。
boolean
ResultSet 对象的第一行。
Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
以 ASCII 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。
ResultSet 对象的当前行中指定列的值。
以具有全精度的 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。
已过时。
java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。
以未解释字节的二进制流的形式检索此 ResultSet 对象的当前行中指定列的值。
byte 流的形式检索此 ResultSet 对象的当前行中指定列的值。
以 Java 编程语言中 Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
boolean
以 Java 编程语言中 boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。
boolean
boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。
byte
以 Java 编程语言中 byte 的形式检索此 ResultSet 对象的当前行中指定列的值。
byte
byte 的形式检索此 ResultSet 对象的当前行中指定列的值。
byte[]
以 Java 编程语言中 byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。
byte[]
byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。
java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
以 Java 编程语言中 Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
int
ResultSet 对象的并发模式。
ResultSet 对象使用的 SQL 指针的名称。
以 Java 编程语言中 java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Calendar cal)
以 Java 编程语言中 java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
double
以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。
double
double 的形式检索此 ResultSet 对象的当前行中指定列的值。
int
ResultSet 对象的获取方向。
int
ResultSet 对象的获取大小。
float
以 Java 编程语言中 float 的形式检索此 ResultSet 对象的当前行中指定列的值。
float
float 的形式检索此 ResultSet 对象的当前行中指定列的值。
int
以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。
int
String columnName)
以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。
long
以 Java 编程语言中 long 的形式检索此 ResultSet 对象的当前行中指定列的值。
long
long 的形式检索此 ResultSet 对象的当前行中指定列的值。
ResultSet 对象的列的编号、类型和属性。
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
Object 的形式检索此 ResultSet 对象的当前行中指定列的值。
Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
Object 的形式检索此 ResultSet 对象的当前行中指定列的值。
以 Java 编程语言中 Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
int
short
以 Java 编程语言中 short 的形式检索此 ResultSet 对象的当前行中指定列的值。
short
short 的形式检索此 ResultSet 对象的当前行中指定列的值。
ResultSet 对象的 Statement 对象。
以 Java 编程语言中 String 的形式检索此 ResultSet 对象的当前行中指定列的值。
String 的形式检索此 ResultSet 对象的当前行中指定列的值。
以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Calendar cal)
以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
Calendar cal)
以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
int
ResultSet 对象的类型。
已过时。 使用 getCharacterStream 取代 getUnicodeStream
已过时。 使用 getCharacterStream 代替
以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
String columnName)
以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。
ResultSet 对象上的调用报告的第一个警告。
void
ResultSet 对象和数据库中。
boolean
ResultSet 对象的最后一行之后。
boolean
ResultSet 对象的第一行之前。
boolean
ResultSet 对象的第一行。
boolean
ResultSet 对象的最后一行。
boolean
ResultSet 对象的最后一行。
void
void
boolean
boolean
ResultSet 对象的上一行。
void
boolean
按相对行数(或正或负)移动指针。
boolean
boolean
boolean
void
ResultSet 对象中行的处理方向。
void
ResultSet 对象需要更多行时应该从数据库获取的行数。
void
Array x)
用 java.sql.Array 值更新指定列。
void
java.sql.Array 值更新指定列。
void
InputStream x, int length)
用 ascii 流值更新指定列。
void
void
java.math.BigDecimal 值更新指定列。
void
java.sql.BigDecimal 值更新指定列。
void
InputStream x, int length)
用二进制流值更新指定列。
void
void
Blob x)
用 java.sql.Blob 值更新指定列。
void
java.sql.Blob 值更新指定列。
void
用 boolean 值更新指定列。
void
String columnName, boolean x)
用 boolean 值更新指定列。
void
用 byte 值更新指定列。
void
String columnName, byte x)
用 byte 值更新指定列。
void
用 byte 数组值更新指定列。
void
String columnName, byte[] x)
用字节数组值更新指定列。
void
Reader x, int length)
用字符流值更新指定列。
void
void
Clob x)
用 java.sql.Clob 值更新指定列。
void
java.sql.Clob 值更新指定列。
void
Date x)
用 java.sql.Date 值更新指定列。
void
java.sql.Date 值更新指定列。
void
用 double 值更新指定列。
void
String columnName, double x)
用 double 值更新指定列。
void
用 float 值更新指定列。
void
String columnName, float x)
用 float 值更新指定列。
void
用 int 值更新指定列。
void
String columnName, int x)
用 int 值更新指定列。
void
用 long 值更新指定列。
void
String columnName, long x)
用 long 值更新指定列。
void
为可以为 null 的列提供 null 值。
void
null 值更新指定列。
void
Object x)
用 Object 值更新指定列。
void
Object x, int scale)
用 Object 值更新指定列。
void
Object 值更新指定列。
void
String columnName, Object x, int scale)
用 Object 值更新指定列。
void
Ref x)
用 java.sql.Ref 值更新指定列。
void
java.sql.Ref 值更新指定列。
void
ResultSet 对象的当前行的新内容更新底层数据库。
void
用 short 值更新指定列。
void
String columnName, short x)
用 short 值更新指定列。
void
String x)
用 String 值更新指定列。
void
String 值更新指定列。
void
Time x)
用 java.sql.Time 值更新指定列。
void
java.sql.Time 值更新指定列。
void
java.sql.Timestamp 值更新指定列。
void
java.sql.Timestamp 值更新指定列。
boolean
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抛出:
close
void close()
throws SQLException
立即释放此 ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。
注:当生成 ResultSet 对象的 Statement 对象关闭、重新执行或用来从多个结果的序列检索下一个结果时,该 Statement 对象会自动关闭 ResultSet 对象。垃圾回收 ResultSet 对象时它也会自动关闭。抛出:
wasNull
boolean wasNull()
throws SQLException
报告最后一个读取的列是否具有值 SQL NULL。注意,必须首先对列调用一个获取方法来尝试读取其值,然后调用 wasNull 方法查看读取的值是否为 SQL NULL。返回:如果最后一个读取的列值为 SQL NULL,则返回 true;否则返回 false抛出:
getString
String getString(int columnIndex)
throws SQLException
以 Java 编程语言中 String 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getBoolean
boolean getBoolean(int columnIndex)
throws SQLException
以 Java 编程语言中 boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 false抛出:
getByte
byte getByte(int columnIndex)
throws SQLException
以 Java 编程语言中 byte 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getShort
short getShort(int columnIndex)
throws SQLException
以 Java 编程语言中 short 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getInt
int getInt(int columnIndex)
throws SQLException
以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getLong
long getLong(int columnIndex)
throws SQLException
以 Java 编程语言中 long 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getFloat
float getFloat(int columnIndex)
throws SQLException
以 Java 编程语言中 float 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getDouble
double getDouble(int columnIndex)
throws SQLException
以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getBigDecimal
BigDecimal getBigDecimal(int columnIndex,
int scale)
throws SQLException
已过时。以 Java 编程语言中 java.sql.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……scale - 小数点右边的位数返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getBytes
byte[] getBytes(int columnIndex)
throws SQLException
以 Java 编程语言中 byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。这些字节表示驱动程序返回的原始值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getDate
Date getDate(int columnIndex)
throws SQLException
以 Java 编程语言中 java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getTime
Time getTime(int columnIndex)
throws SQLException
以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getTimestamp
Timestamp getTimestamp(int columnIndex)
throws SQLException
以 Java 编程语言中 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getAsciiStream
InputStream getAsciiStream(int columnIndex)
throws SQLException
以 ASCII 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARCHAR 值。JDBC 驱动程序将执行从数据库格式到 ASCII 的任何必要转换。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:以一字节 ASCII 字符流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL NULL,则返回值为 null抛出:
getUnicodeStream
InputStream getUnicodeStream(int columnIndex)
throws SQLException
已过时。 使用 getCharacterStream 取代 getUnicodeStream以两字节 Unicode 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。第一个字节是高字节;第二个字节是低字节。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARCHAR 值。JDBC 驱动程序将执行从数据库格式到 Unicode 的任何必要转换。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:以两字节 Unicode 字符流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL NULL,则返回值为 null抛出:
getBinaryStream
InputStream getBinaryStream(int columnIndex)
throws SQLException
以未解释字节的二进制流的形式检索此 ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARBINARY 值。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:以未解释字节的流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL NULL,则返回值为 null抛出:
getString
String getString(String columnName)
throws SQLException
以 Java 编程语言中 String 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getBoolean
boolean getBoolean(String columnName)
throws SQLException
以 Java 编程语言中 boolean 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 false抛出:
getByte
byte getByte(String columnName)
throws SQLException
以 Java 编程语言中 byte 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getShort
short getShort(String columnName)
throws SQLException
以 Java 编程语言中 short 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getInt
int getInt(String columnName)
throws SQLException
以 Java 编程语言中 int 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getLong
long getLong(String columnName)
throws SQLException
以 Java 编程语言中 long 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getFloat
float getFloat(String columnName)
throws SQLException
以 Java 编程语言中 float 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getDouble
double getDouble(String columnName)
throws SQLException
以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 0抛出:
getBigDecimal
BigDecimal getBigDecimal(String columnName,
int scale)
throws SQLException
已过时。以 Java 编程语言中 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称scale - 小数点右边的位数返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getBytes
byte[] getBytes(String columnName)
throws SQLException
以 Java 编程语言中 byte 数组的形式检索此 ResultSet 对象的当前行中指定列的值。这些字节表示驱动程序返回的原始值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getDate
Date getDate(String columnName)
throws SQLException
以 Java 编程语言中的 java.sql.Date 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getTime
Time getTime(String columnName)
throws SQLException
以 Java 编程语言中 java.sql.Time 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getTimestamp
Timestamp getTimestamp(String columnName)
throws SQLException
以 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:列值;如果值为 SQL NULL,则返回值为 null抛出:
getAsciiStream
InputStream getAsciiStream(String columnName)
throws SQLException
以 ASCII 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARCHAR 值。JDBC 驱动程序将执行从数据库格式到 ASCII 的任何必要转换。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnName - 列的 SQL 名称返回:以一字节 ASCII 字符流的形式返回传递数据库列值的 Java 输入流。如果值为 SQL NULL,则返回值为 null。抛出:
getUnicodeStream
InputStream getUnicodeStream(String columnName)
throws SQLException
已过时。 使用 getCharacterStream 代替以两字节 Unicode 字符流的形式检索此 ResultSet 对象的当前行中指定列的值。第一个字节是高字节;第二个字节是低字节。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARCHAR 值。采用 JDBC 技术的驱动程序将执行从数据库格式到 Unicode 的任何必要转换。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnName - 列的 SQL 名称返回:以两字节 Unicode 字符流的形式返回传递数据库列值的 Java 输入流。如果值为 SQL NULL,则返回值为 null。抛出:
getBinaryStream
InputStream getBinaryStream(String columnName)
throws SQLException
以未解释的 byte 流的形式检索此 ResultSet 对象的当前行中指定列的值。然后可以按块从流中读取该值。此方法尤其适合于检索很大的 LONGVARBINARY 值。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 available 方法时,不管是否存在可用数据,流都可能返回 0。参数:columnName - 列的 SQL 名称返回:以未解释字节流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL NULL,则返回值为 null抛出:
getWarnings
SQLWarning getWarnings()
throws SQLException
检索此 ResultSet 对象上的调用报告的第一个警告。此 ResultSet 对象上的后续警告会被链接到此方法返回的 SQLWarning 对象。
每次读取新行时,都会自动清除警告链。不可以在已经关闭的 ResultSet 对象上调用此方法;这样做将导致抛出 SQLException。
注:此警告链仅包含 ResultSet 方法产生的警告。Statement 方法(如读取 OUT 参数)产生的任何警告都将链接在 Statement 对象上。返回:报告的第一个 SQLWarning 对象;如果不存在,则返回 null抛出:
clearWarnings
void clearWarnings()
throws SQLException
清除在此 ResultSet 对象上报告的所有警告。调用此方法后,在为此 ResultSet 对象报告新的警告之前,getWarnings 方法将返回 null。抛出:
getCursorName
String getCursorName()
throws SQLException
检索此 ResultSet 对象使用的 SQL 指针的名称。
在 SQL 中,通过命名的指针检索结果表。通过一个引用指针名称来确定位置的更新/删除语句,可以更新或删除结果集的当前行。为了确保指针具有支持更新的适当隔离级别,指针的 SELECT 语句的形式应该为 SELECT FOR UPDATE。如果省略 FOR UPDATE,则定位更新可能失败。
JDBC API 通过提供 ResultSet 对象使用的 SQL 指针的名称支持此 SQL 功能。ResultSet 对象的当前行也是此 SQL 指针的当前行。
注:如果不支持定位更新,则抛出 SQLException。返回:此 ResultSet 对象的指针的 SQL 名称抛出:
getMetaData
ResultSetMetaData getMetaData()
throws SQLException
检索此 ResultSet 对象的列的编号、类型和属性。返回:此 ResultSet 对象的列的描述抛出:
getObject
Object getObject(int columnIndex)
throws SQLException
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
此方法将以 Java 对象的形式返回给定列的值。Java 对象的类型将为与该列的 SQL 类型相对应的默认 Java 对象类型,它遵守在 JDBC 规范中指定的内置类型的映射关系。如果值为 SQL NULL,则驱动程序返回一个 Java null。
此方法还可用于读取特定于数据库的抽象数据类型。在 JDBC 2.0 API 中,可以扩展 getObject 方法的行为来实现 SQL 自定义类型的数据。当列包含结构化的或独特的值时,此方法的行为类似于调用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:保存列值的 java.lang.Object抛出:
getObject
Object getObject(String columnName)
throws SQLException
以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。
此方法将以 Java 对象的形式返回给定列的值。Java 对象的类型将为与该列的 SQL 类型相对应的默认 Java 对象类型,它遵守在 JDBC 规范中指定的内置类型的映射关系。如果值为 SQL NULL,则驱动程序返回一个 Java null。
此方法还可用于读取特定于数据库的抽象数据类型。
在 JDBC 2.0 API 中,可以扩展 getObject 方法的行为来实现 SQL 自定义类型的数据。当列包含结构化的或独特的值时,此方法的行为类似于调用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。参数:columnName - 列的 SQL 名称返回:保存列值的 java.lang.Object抛出:
findColumn
int findColumn(String columnName)
throws SQLException
将给定的 ResultSet 列名称映射到其 ResultSet 列索引。参数:columnName - 列的名称返回:给定列名称的列索引抛出:ResultSet 对象不包含 columnName 或者发生数据库访问错误
getCharacterStream
Reader getCharacterStream(int columnIndex)
throws SQLException
以 java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:包含列值的 java.io.Reader 对象;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null。抛出:从以下版本开始:1.2
getCharacterStream
Reader getCharacterStream(String columnName)
throws SQLException
以 java.io.Reader 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的名称返回:包含列值的 java.io.Reader 对象;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始:1.2
getBigDecimal
BigDecimal getBigDecimal(int columnIndex)
throws SQLException
以具有全精度的 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 第一个列是 1,第二个列是 2,……返回:列值(全精度);如果值为 SQL NULL,则返回值为 Java 编程语言中的 null。抛出:从以下版本开始:1.2
getBigDecimal
BigDecimal getBigDecimal(String columnName)
throws SQLException
以具有全精度的 java.math.BigDecimal 的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列名称返回:列值(全精度);如果值为 SQL NULL,则返回值为 Java 编程语言中的 null。抛出:从以下版本开始:1.2
isBeforeFirst
boolean isBeforeFirst()
throws SQLException
检索指针是否位于此 ResultSet 对象的第一行之前。返回:如果指针位于第一行之前,则返回 true;如果指针位于任何其他位置或者结果集不包含任何行,则返回 false抛出:从以下版本开始:1.2
isAfterLast
boolean isAfterLast()
throws SQLException
检索指针是否位于此 ResultSet 对象的最后一行之后。返回:如果指针位于最后一行之后,则返回 true;如果指针位于任何其他位置或者结果集不包含任何行,则返回 false抛出:从以下版本开始:1.2
isFirst
boolean isFirst()
throws SQLException
检索指针是否位于此 ResultSet 对象的第一行。返回:如果指针位于第一行,则返回 true;否则返回 false抛出:从以下版本开始:1.2
isLast
boolean isLast()
throws SQLException
检索指针是否位于此 ResultSet 对象的最后一行。注:调用 isLast 方法可能开销很大,因为 JDBC 驱动程序可能需要再往后获取一行,以确定当前行是否为结果集中的最后一行。返回:如果指针位于最后一行上,则返回 true;否则返回 false抛出:从以下版本开始:1.2
beforeFirst
void beforeFirst()
throws SQLException
将指针移动到此 ResultSet 对象的开头,正好位于第一行之前。如果结果集中不包含任何行,则此方法无效。抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
afterLast
void afterLast()
throws SQLException
将指针移动到此 ResultSet 对象的末尾,正好位于最后一行之后。如果结果集中不包含任何行,则此方法无效。抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
first
boolean first()
throws SQLException
将指针移动到此 ResultSet 对象的第一行。返回:如果指针位于有效行,则返回 true;如果结果集中不存在任何行,则返回 false抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
last
boolean last()
throws SQLException
将指针移动到此 ResultSet 对象的最后一行。返回:如果指针位于有效行,则返回 true;如果结果集中不存在任何行,则返回 false抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
getRow
int getRow()
throws SQLException
检索当前行编号。第一行为 1 号,第二行为 2 号,依此类推。返回:当前行的编号;如果不存在当前行,则返回 0抛出:从以下版本开始: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抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
relative
boolean relative(int rows)
throws SQLException
按相对行数(或正或负)移动指针。试图移动到结果集的第一行/最后一行之外,会将指针置于第一行之前或最后一行之后。调用 relative(0) 有效,但是不更改指针位置。
注:调用方法 relative(1) 等效于调用方法 next(),而调用方法 relative(-1) 等效于调用方法 previous()。参数:rows - 指定从当前行开始移动的行数的 int;正数表示指针向前移动;负数表示指针向后移动返回:如果指针位于行上,则返回 true;否则返回 false抛出:TYPE_FORWARD_ONLY从以下版本开始:1.2
previous
boolean previous()
throws SQLException
将指针移动到此 ResultSet 对象的上一行。返回:如果指针位于有效行上,则返回 true;如果它不在结果集中,则返回 false抛出: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 之一抛出:TYPE_FORWARD_ONLY 但获取方向不是 FETCH_FORWARD从以下版本开始:1.2另请参见:
getFetchDirection
int getFetchDirection()
throws SQLException
检索此 ResultSet 对象的获取方向。返回:此 ResultSet 对象的当前获取方向抛出:从以下版本开始:1.2另请参见:
setFetchSize
void setFetchSize(int rows)
throws SQLException
为 JDBC 驱动程序设置此 ResultSet 对象需要更多行时应该从数据库获取的行数。如果指定的获取大小为零,则 JDBC 驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。默认值由创建结果集的 Statement 对象设置。获取大小可以在任何时间更改。参数:rows - 要获取的行数抛出:0 <= rows <= Statement.getMaxRows()从以下版本开始:1.2另请参见:
getFetchSize
int getFetchSize()
throws SQLException
检索此 ResultSet 对象的获取大小。返回:此 ResultSet 对象的当前获取大小抛出:从以下版本开始:1.2另请参见:
getType
int getType()
throws SQLException
检索此 ResultSet 对象的类型。类型由创建结果集的 Statement 对象确定。返回:ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE 或 ResultSet.TYPE_SCROLL_SENSITIVE抛出:从以下版本开始:1.2
getConcurrency
int getConcurrency()
throws SQLException
检索此 ResultSet 对象的并发模式。使用的并发由创建结果集的 Statement 对象确定。返回:并发类型,ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE抛出:从以下版本开始:1.2
rowUpdated
boolean rowUpdated()
throws SQLException
检索是否已更新当前行。返回值取决于结果集是否可以检测到更新。返回:如果 (1) 所有者或其他人已对行进行可见更新 (2) 可以检测到更新都成立,则返回 true抛出:从以下版本开始:1.2另请参见:
rowInserted
boolean rowInserted()
throws SQLException
检索当前行是否已有插入。返回值取决于此 ResultSet 对象是否可以检测到可见插入。返回:如果行已有插入并且检测到插入,则返回 true;否则返回 false抛出:从以下版本开始:1.2另请参见:
rowDeleted
boolean rowDeleted()
throws SQLException
检索是否已删除某行。删除的行可能在结果集中留下一个可见的“洞”。此方法可用于检测结果集中的洞。返回值取决于此 ResultSet 对象是否可以检测到删除。返回:如果删除了行并且检测到删除,则返回 true;否则返回 false抛出:从以下版本开始:1.2另请参见:
updateNull
void updateNull(int columnIndex)
throws SQLException
为可以为 null 的列提供 null 值。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……抛出:从以下版本开始:1.2
updateBoolean
void updateBoolean(int columnIndex,
boolean x)
throws SQLException
用 boolean 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateByte
void updateByte(int columnIndex,
byte x)
throws SQLException
用 byte 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateShort
void updateShort(int columnIndex,
short x)
throws SQLException
用 short 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateInt
void updateInt(int columnIndex,
int x)
throws SQLException
用 int 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateLong
void updateLong(int columnIndex,
long x)
throws SQLException
用 long 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会不更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateFloat
void updateFloat(int columnIndex,
float x)
throws SQLException
用 float 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateDouble
void updateDouble(int columnIndex,
double x)
throws SQLException
用 double 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateBigDecimal
void updateBigDecimal(int columnIndex,
BigDecimal x)
throws SQLException
用 java.math.BigDecimal 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateString
void updateString(int columnIndex,
String x)
throws SQLException
用 String 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateBytes
void updateBytes(int columnIndex,
byte[] x)
throws SQLException
用 byte 数组值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateDate
void updateDate(int columnIndex,
Date x)
throws SQLException
用 java.sql.Date 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateTime
void updateTime(int columnIndex,
Time x)
throws SQLException
用 java.sql.Time 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateTimestamp
void updateTimestamp(int columnIndex,
Timestamp x)
throws SQLException
用 java.sql.Timestamp 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateAsciiStream
void updateAsciiStream(int columnIndex,
InputStream x,
int length)
throws SQLException
用 ascii 流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值length - 流的长度抛出:从以下版本开始:1.2
updateBinaryStream
void updateBinaryStream(int columnIndex,
InputStream x,
int length)
throws SQLException
用二进制流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值length - 流的长度抛出:从以下版本开始:1.2
updateCharacterStream
void updateCharacterStream(int columnIndex,
Reader x,
int length)
throws SQLException
用字符流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值length - 流的长度抛出:从以下版本开始: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 类型,此参数是小数点后面的位数。对于其他所有类型,将忽略此值。抛出:从以下版本开始:1.2
updateObject
void updateObject(int columnIndex,
Object x)
throws SQLException
用 Object 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.2
updateNull
void updateNull(String columnName)
throws SQLException
用 null 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称抛出:从以下版本开始:1.2
updateBoolean
void updateBoolean(String columnName,
boolean x)
throws SQLException
用 boolean 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateByte
void updateByte(String columnName,
byte x)
throws SQLException
用 byte 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateShort
void updateShort(String columnName,
short x)
throws SQLException
用 short 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateInt
void updateInt(String columnName,
int x)
throws SQLException
用 int 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateLong
void updateLong(String columnName,
long x)
throws SQLException
用 long 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateFloat
void updateFloat(String columnName,
float x)
throws SQLException
用 float 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateDouble
void updateDouble(String columnName,
double x)
throws SQLException
用 double 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateBigDecimal
void updateBigDecimal(String columnName,
BigDecimal x)
throws SQLException
用 java.sql.BigDecimal 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateString
void updateString(String columnName,
String x)
throws SQLException
用 String 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateBytes
void updateBytes(String columnName,
byte[] x)
throws SQLException
用字节数组值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateDate
void updateDate(String columnName,
Date x)
throws SQLException
用 java.sql.Date 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateTime
void updateTime(String columnName,
Time x)
throws SQLException
用 java.sql.Time 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateTimestamp
void updateTimestamp(String columnName,
Timestamp x)
throws SQLException
用 java.sql.Timestamp 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
updateAsciiStream
void updateAsciiStream(String columnName,
InputStream x,
int length)
throws SQLException
用 ascii 流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值length - 流的长度抛出:从以下版本开始:1.2
updateBinaryStream
void updateBinaryStream(String columnName,
InputStream x,
int length)
throws SQLException
用二进制流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值length - 流的长度抛出:从以下版本开始:1.2
updateCharacterStream
void updateCharacterStream(String columnName,
Reader reader,
int length)
throws SQLException
用字符流值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称reader - 包含新列值的 java.io.Reader 对象length - 流的长度抛出:从以下版本开始: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 类型,此参数是小数点后面的位数。对于其他所有类型,将忽略此值。抛出:从以下版本开始:1.2
updateObject
void updateObject(String columnName,
Object x)
throws SQLException
用 Object 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.2
insertRow
void insertRow()
throws SQLException
将插入行的内容插入到此 ResultSet 对象和数据库中。调用此方法时,指针必须位于插入行上。抛出:从以下版本开始:1.2
updateRow
void updateRow()
throws SQLException
用此 ResultSet 对象的当前行的新内容更新底层数据库。指针不位于插入行上时不能调用此方法。抛出:从以下版本开始:1.2
deleteRow
void deleteRow()
throws SQLException
从此 ResultSet 对象和底层数据库中删除当前行。指针不位于插入行上时不能调用此方法。抛出:从以下版本开始:1.2
refreshRow
void refreshRow()
throws SQLException
用数据库中的最近值刷新当前行。指针不位于插入行上时不能调用此方法。
refreshRow 方法提供一种让应用程序显式告知 JDBC 驱动程序从数据库重新获取行的方式。应用程序可能需要在 JDBC 驱动程序完成缓存或预获取操作后调用 refreshRow,以便从数据库获取行的最新值。如果获取大小大于 1,则 JDBC 驱动程序可以一次实际刷新多行。
应根据事务隔离级别和指针敏感度确定是否重新获取所有值。如果在调用更新方法之后,但在调用 updateRow 方法之前调用 refreshRow,则会丢失对行所作的更新。频繁调用方法 refreshRow 可能导致性能下降。抛出:从以下版本开始:1.2
cancelRowUpdates
void cancelRowUpdates()
throws SQLException
取消对 ResultSet 对象中的当前行所作的更新。此方法在调用更新方法之后,但在调用 updateRow 方法之前调用才可以回滚对行所作的更新。如果没有进行任何更新或者已经调用 updateRow 方法,则此方法无效。抛出:从以下版本开始:1.2
moveToInsertRow
void moveToInsertRow()
throws SQLException
将指针移动到插入行。将指针置于插入行上时,当前的指针位置会被记住。插入行是一个与可更新结果集相关联的特殊行。它实际上是一个缓冲区,在将行插入到结果集前可以通过调用更新方法在其中构造新行。当指针位于插入行上时,仅能调用更新方法、获取方法以及 insertRow 方法。每次在调用 insertRow 之前调用此方法时,必须为结果集中的所有列分配值。在对列值调用获取方法之前,必须调用更新方法。抛出:从以下版本开始:1.2
moveToCurrentRow
void moveToCurrentRow()
throws SQLException
将指针移动到记住的指针位置,通常为当前行。如果指针不位于插入行上,则此方法无效。抛出:从以下版本开始:1.2
getStatement
Statement getStatement()
throws SQLException
检索生成此 ResultSet 对象的 Statement 对象。如果结果集是以其他方式生成的(如通过 DatabaseMetaData 方法),则此方法返回 null。返回:生成此 ResultSet 对象的 Statment 对象;如果结果集是以其他方法生成的,则返回 null抛出:从以下版本开始:1.2
getObject
Object getObject(int i,
Map> map)
throws SQLException
以 Java 编程语言中 Object 的形式检索此 ResultSet 对象的当前行中指定列的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。此方法使用给定的 Map 对象作为正在检索的 SQL 结构化或独特类型的自定义映射关系。参数:i - 第一个列是 1,第二个列是 2,……map - 一个 java.util.Map 对象,包含从 SQL 类型名称到 Java 编程语言中类的映射关系返回:表示 SQL 值的 Java 编程语言中的 Object抛出:从以下版本开始:1.2
getRef
Ref getRef(int i)
throws SQLException
以 Java 编程语言中 Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:i - 第一个列是 1,第二个列是 2,……返回:表示 SQL REF 值的 Ref 对象抛出:从以下版本开始:1.2
getBlob
Blob getBlob(int i)
throws SQLException
以 Java 编程语言中 Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:i - 第一个列是 1,第二个列是 2,……返回:表示指定列中的 SQL BLOB 值的 BLOB 对象抛出:从以下版本开始:1.2
getClob
Clob getClob(int i)
throws SQLException
以 Java 编程语言中 Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:i - 第一个列是 1,第二个列是 2,……返回:表示指定列中的 SQL Clob 值的 Clob 对象抛出:从以下版本开始:1.2
getArray
Array getArray(int i)
throws SQLException
以 Java 编程语言中 Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:i - 第一个列是 1,第二个列是 2,……返回:表示指定列中的 SQL Array 值的 Array 对象抛出:从以下版本开始:1.2
getObject
Object getObject(String colName,
Map> map)
throws SQLException
以 Java 编程语言中 Object 的形式检索此 ResultSet 对象的当前行中指定列的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。此方法使用指定的 Map 对象自定义映射关系(如果合适)。参数:colName - 列的名称,根据它来检索值map - 包含从 SQL 类型名称到 Java 编程语言中类的映射关系的 java.util.Map 对象返回:表示指定列中的 SQL 值的 Object抛出:从以下版本开始:1.2
getRef
Ref getRef(String colName)
throws SQLException
以 Java 编程语言中 Ref 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:colName - 列名称返回:表示指定列中 SQL Ref 值的 Ref 对象抛出:从以下版本开始:1.2
getBlob
Blob getBlob(String colName)
throws SQLException
以 Java 编程语言中 Blob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:colName - 列的名称,根据它检索值返回:表示指定列中 SQL Blob 值的 Blob 对象抛出:从以下版本开始:1.2
getClob
Clob getClob(String colName)
throws SQLException
以 Java 编程语言中 Clob 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:colName - 列的名称,根据它检索值返回:表示指定列中 SQL CLOB 值的 Clob 对象抛出:从以下版本开始:1.2
getArray
Array getArray(String colName)
throws SQLException
以 Java 编程语言中 Array 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:colName - 列的名称,根据它检索值返回:表示指定列中 SQL ARRAY 值的 ARRAY 对象抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始: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 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始:1.2
getURL
URL getURL(int columnIndex)
throws SQLException
以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnIndex - 索引,其中第一个列是 1、第二个列是 2,……返回:java.net.URL 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始:1.4
getURL
URL getURL(String columnName)
throws SQLException
以 Java 编程语言中 java.net.URL 对象的形式检索此 ResultSet 对象的当前行中指定列的值。参数:columnName - 列的 SQL 名称返回:java.net.URL 对象形式的列值;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null抛出:从以下版本开始:1.4
updateRef
void updateRef(int columnIndex,
Ref x)
throws SQLException
用 java.sql.Ref 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.4
updateRef
void updateRef(String columnName,
Ref x)
throws SQLException
用 java.sql.Ref 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.4
updateBlob
void updateBlob(int columnIndex,
Blob x)
throws SQLException
用 java.sql.Blob 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.4
updateBlob
void updateBlob(String columnName,
Blob x)
throws SQLException
用 java.sql.Blob 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.4
updateClob
void updateClob(int columnIndex,
Clob x)
throws SQLException
用 java.sql.Clob 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.4
updateClob
void updateClob(String columnName,
Clob x)
throws SQLException
用 java.sql.Clob 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnName - 列的名称x - 新列值抛出:从以下版本开始:1.4
updateArray
void updateArray(int columnIndex,
Array x)
throws SQLException
用 java.sql.Array 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。参数:columnIndex - 第一个列是 1,第二个列是 2,……x - 新列值抛出:从以下版本开始:1.4
updateArray
void updateArray(String columnName,
Array x)
throws SQLException
用 java.sql.Array 值更新指定列。更新方法用于更新当前行或插入行中的列值,并不会更新底层数据库;更新数据库要调用 updateRow 或 insertRow 方法。
参数:columnName - 列的名称x - 新列值抛出: