java.sql.resultset方法与使用技巧
来源:互联网 发布:淘宝商品详情页设计 编辑:程序博客网 时间:2024/05/16 10:11
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
对象提供。
- 另请参见:
Statement.executeQuery(java.lang.String)
,Statement.getResultSet()
,ResultSetMetaData
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
@DeprecatedBigDecimal 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
@DeprecatedInputStream 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
@DeprecatedBigDecimal 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
@DeprecatedInputStream 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
- 如果发生数据库访问错误
- java.sql.resultset方法与使用技巧
- java.sql.resultset方法与使用技巧
- java.sql.resultset方法与使用技巧
- java.sql.ResultSet
- java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE
- Java.sql.ResultSet 接口
- java ResultSet使用
- java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE是什么意思
- java sql ResultSet 如何判断ResultSet中存在记录
- java.sql.SQLException: ResultSet is closed解决方法
- java.sql.ResultSet中的几个常量
- java SQL resultSet的实践理解
- java.sql.SQLException: 关闭的 Resultset: next
- java.sql 接口 PreparedStatement ResultSet DriverManager
- java sql ResultSet 之getRow()
- java.sql.SQLException: ResultSet is closed解决方法
- 使用ResultSet的geRow()方法的注意事项
- [Java]ResultSet的用法与实例
- 黑马程序员Android第55期——JavaScript 实例
- Objective-C中的类学习第一篇(补)
- 数学的神奇精妙。为孩子收藏了!
- 数据库操作--存储过程
- GPS数据处理
- java.sql.resultset方法与使用技巧
- java泛型——上下限
- php学习笔记
- 2015-1-18链表,枚举 项目一:动态链表体验
- 关于servlet的常用api
- php易混函数区别
- 编程书籍推荐
- JavaWeb学习笔记第一讲---Tomcat配置
- Hadoop安装及配置