public interface ResultSet
表示數據庫結果集的數據表,通常通過執行查詢數據庫的語句生成。
ResultSet
對象具有指向其當前數據行的指針。最初,指針被置於第一行之前。next
方法將指針移動到下一行;因為該方法在 ResultSet
對象中沒有下一行時返回 false
,所以可以在 while
循環中使用它來迭代結果集。
默認的 ResultSet
對象不可更新,僅有一個向前移動的指針。因此,只能迭代它一次,並且只能按從第一行到最后一行的順序進行。可以生成可滾動和/或可更新的 ResultSet
對象。以下代碼片段(其中 con
為有效的 Connection
對象)演示了如何生成可滾動且不受其他更新影響的、可更新的結果集。請參閱 ResultSet
字段以了解其他選項。
Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatable
ResultSet
接口提供用於從當前行檢索列值的獲取方法(getBoolean
、getLong
等)。可以使用列的索引編號或列的名稱檢索值。一般情況下,使用列索引較為高效。列從 1 開始編號。為了獲得最大的可移植性,應該按從左到右的順序讀取每行中的結果集列,而且每列只能讀取一次。
對於獲取方法,JDBC 驅動程序嘗試將基礎數據轉換為在獲取方法中指定的 Java 類型,並返回適當的 Java 值。JDBC 規范有一個表,顯示允許的從 SQL 類型到供 ResultSet
獲取方法使用的 Java 類型的映射關系。
用作獲取方法的輸入的列名稱不區分大小寫。用列名稱調用獲取方法時,如果多個列具有這一名稱,則返回第一個匹配列的值。列名稱選項在生成結果集的 SQL 查詢中使用列名稱時使用。對於沒有在查詢中顯式命名的列,最好使用列編號。如果使用列名稱,程序員無法保證名稱實際所指的就是預期的列。
在 JDBC 2.0 API (JDK 1.2) 中,此接口添加了一組更新方法。關於獲取方法參數的注釋同樣適用於更新方法的參數。
可以用以下兩種方式使用更新方法:
- 更新當前行中的列值。在可滾動的
ResultSet
對象中,可以向前和向后移動指針,將其置於絕對位置或相對於當前行的位置。以下代碼片段更新ResultSet
對象rs
的第五行中的NAME
列,然后使用方法updateRow
更新用於派生rs
的數據源表。rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //
NAME
column of row 5 to beAINSWORTH
rs.updateRow(); // updates the row in the data source - 將列值插入到插入行中。可更新的
ResultSet
對象具有一個與其關聯的特殊行,該行用作構建要插入的行的暫存區域 (staging area)。以下代碼片段將指針移動到插入行,構建一個三列的行,並使用方法insertRow
將其插入到rs
和數據源表中。rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to be
AINSWORTH
rs.updateInt(2,35); // updates the second column to be35
rs.updateBoolean(3, true); // updates the third column totrue
rs.insertRow(); rs.moveToCurrentRow();
當生成 ResultSet
對象的 Statement
對象關閉、重新執行或用來從多個結果的序列檢索下一個結果時,ResultSet
對象會自動關閉。
ResultSet
對象的列的編號、類型和屬性由 ResultSet.getMetaData
方法返回的 ResulSetMetaData
對象提供。
字段摘要 | |
---|---|
static int |
CLOSE_CURSORS_AT_COMMIT 該常量指示調用 Connection.commit 方法時應該關閉 ResultSet 對象。 |
static int |
CONCUR_READ_ONLY 該常量指示不可以更新的 ResultSet 對象的並發模式。 |
static int |
CONCUR_UPDATABLE 該常量指示可以更新的 ResultSet 對象的並發模式。 |
static int |
FETCH_FORWARD 該常量指示將按正向(即從第一個到最后一個)處理結果集中的行。 |
static int |
FETCH_REVERSE 該常量指示將按反向(即從最后一個到第一個)處理結果集中的行處理。 |
static int |
FETCH_UNKNOWN 該常量指示結果集中的行的處理順序未知。 |
static int |
HOLD_CURSORS_OVER_COMMIT 該常量指示調用 Connection.commit 方法時不應關閉 ResultSet 對象。 |
static int |
TYPE_FORWARD_ONLY 該常量指示指針只能向前移動的 ResultSet 對象的類型。 |
static int |
TYPE_SCROLL_INSENSITIVE 該常量指示可滾動但通常不受其他的更改影響的 ResultSet 對象的類型。 |
static int |
TYPE_SCROLL_SENSITIVE 該常量指示可滾動並且通常受其他的更改影響的 ResultSet 對象的類型。 |
方法摘要 | |
---|---|
boolean |
absolute(int row) 將指針移動到此 ResultSet 對象的給定行編號。 |
void |
afterLast() 將指針移動到此 ResultSet 對象的末尾,正好位於最后一行之后。 |
void |
beforeFirst() 將指針移動到此 ResultSet 對象的開頭,正好位於第一行之前。 |
void |
cancelRowUpdates() 取消對 ResultSet 對象中的當前行所作的更新。 |
void |
clearWarnings() 清除在此 ResultSet 對象上報告的所有警告。 |
void |
close() 立即釋放此 ResultSet 對象的數據庫和 JDBC 資源,而不是等待該對象自動關閉時發生此操作。 |
void |
deleteRow() 從此 ResultSet 對象和底層數據庫中刪除當前行。 |
int |
findColumn(String columnName) 將給定的 ResultSet 列名稱映射到其 ResultSet 列索引。 |
boolean |
first() 將指針移動到此 ResultSet 對象的第一行。 |
Array |
getArray(int i) 以 Java 編程語言中 Array 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Array |
getArray(String colName) 以 Java 編程語言中 Array 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getAsciiStream(int columnIndex) 以 ASCII 字符流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getAsciiStream(String columnName) 以 ASCII 字符流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex) 以具有全精度的 java.math.BigDecimal 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex, int scale) 已過時。 |
BigDecimal |
getBigDecimal(String columnName) 以具有全精度的 java.math.BigDecimal 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(String columnName, int scale) 已過時。 |
InputStream |
getBinaryStream(int columnIndex) 以未解釋字節的二進制流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getBinaryStream(String columnName) 以未解釋的 byte 流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Blob |
getBlob(int i) 以 Java 編程語言中 Blob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Blob |
getBlob(String colName) 以 Java 編程語言中 Blob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
boolean |
getBoolean(int columnIndex) 以 Java 編程語言中 boolean 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
boolean |
getBoolean(String columnName) 以 Java 編程語言中 boolean 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte |
getByte(int columnIndex) 以 Java 編程語言中 byte 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte |
getByte(String columnName) 以 Java 編程語言中 byte 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte[] |
getBytes(int columnIndex) 以 Java 編程語言中 byte 數組的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte[] |
getBytes(String columnName) 以 Java 編程語言中 byte 數組的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Reader |
getCharacterStream(int columnIndex) 以 java.io.Reader 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Reader |
getCharacterStream(String columnName) 以 java.io.Reader 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Clob |
getClob(int i) 以 Java 編程語言中 Clob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Clob |
getClob(String colName) 以 Java 編程語言中 Clob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getConcurrency() 檢索此 ResultSet 對象的並發模式。 |
String |
getCursorName() 檢索此 ResultSet 對象使用的 SQL 指針的名稱。 |
Date |
getDate(int columnIndex) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(String columnName) 以 Java 編程語言中的 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
double |
getDouble(int columnIndex) 以 Java 編程語言中 double 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
double |
getDouble(String columnName) 以 Java 編程語言中 double 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getFetchDirection() 檢索此 ResultSet 對象的獲取方向。 |
int |
getFetchSize() 檢索此 ResultSet 對象的獲取大小。 |
float |
getFloat(int columnIndex) 以 Java 編程語言中 float 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
float |
getFloat(String columnName) 以 Java 編程語言中 float 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getInt(int columnIndex) 以 Java 編程語言中 int 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getInt(String columnName) 以 Java 編程語言中 int 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
long |
getLong(int columnIndex) 以 Java 編程語言中 long 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
long |
getLong(String columnName) 以 Java 編程語言中 long 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
ResultSetMetaData |
getMetaData() 檢索此 ResultSet 對象的列的編號、類型和屬性。 |
Object |
getObject(int columnIndex) 以 Java 編程語言中 Object 的形式獲取此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(int i, Map<String,Class<?>> map) 以 Java 編程語言中 Object 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(String columnName) 以 Java 編程語言中 Object 的形式獲取此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(String colName, Map<String,Class<?>> map) 以 Java 編程語言中 Object 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Ref |
getRef(int i) 以 Java 編程語言中 Ref 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Ref |
getRef(String colName) 以 Java 編程語言中 Ref 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getRow() 檢索當前行編號。 |
short |
getShort(int columnIndex) 以 Java 編程語言中 short 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
short |
getShort(String columnName) 以 Java 編程語言中 short 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Statement |
getStatement() 檢索生成此 ResultSet 對象的 Statement 對象。 |
String |
getString(int columnIndex) 以 Java 編程語言中 String 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
String |
getString(String columnName) 以 Java 編程語言中 String 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(int columnIndex) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(String columnName) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName) 以 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getType() 檢索此 ResultSet 對象的類型。 |
InputStream |
getUnicodeStream(int columnIndex) 已過時。 使用 getCharacterStream 取代 getUnicodeStream |
InputStream |
getUnicodeStream(String columnName) 已過時。 使用 getCharacterStream 代替 |
URL |
getURL(int columnIndex) 以 Java 編程語言中 java.net.URL 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
URL |
getURL(String columnName) 以 Java 編程語言中 java.net.URL 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
SQLWarning |
getWarnings() 檢索此 ResultSet 對象上的調用報告的第一個警告。 |
void |
insertRow() 將插入行的內容插入到此 ResultSet 對象和數據庫中。 |
boolean |
isAfterLast() 檢索指針是否位於此 ResultSet 對象的最后一行之后。 |
boolean |
isBeforeFirst() 檢索指針是否位於此 ResultSet 對象的第一行之前。 |
boolean |
isFirst() 檢索指針是否位於此 ResultSet 對象的第一行。 |
boolean |
isLast() 檢索指針是否位於此 ResultSet 對象的最后一行。 |
boolean |
last() 將指針移動到此 ResultSet 對象的最后一行。 |
void |
moveToCurrentRow() 將指針移動到記住的指針位置,通常為當前行。 |
void |
moveToInsertRow() 將指針移動到插入行。 |
boolean |
next() 將指針從當前位置下移一行。 |
boolean |
previous() 將指針移動到此 ResultSet 對象的上一行。 |
void |
refreshRow() 用數據庫中的最近值刷新當前行。 |
boolean |
relative(int rows) 按相對行數(或正或負)移動指針。 |
boolean |
rowDeleted() 檢索是否已刪除某行。 |
boolean |
rowInserted() 檢索當前行是否已有插入。 |
boolean |
rowUpdated() 檢索是否已更新當前行。 |
void |
setFetchDirection(int direction) 設置此 ResultSet 對象中行的處理方向。 |
void |
setFetchSize(int rows) 為 JDBC 驅動程序設置此 ResultSet 對象需要更多行時應該從數據庫獲取的行數。 |
void |
updateArray(int columnIndex, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateArray(String columnName, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateAsciiStream(int columnIndex, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateAsciiStream(String columnName, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateBigDecimal(int columnIndex, BigDecimal x) 用 java.math.BigDecimal 值更新指定列。 |
void |
updateBigDecimal(String columnName, BigDecimal x) 用 java.sql.BigDecimal 值更新指定列。 |
void |
updateBinaryStream(int columnIndex, InputStream x, int length) 用二進制流值更新指定列。 |
void |
updateBinaryStream(String columnName, InputStream x, int length) 用二進制流值更新指定列。 |
void |
updateBlob(int columnIndex, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBlob(String columnName, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBoolean(int columnIndex, boolean x) 用 boolean 值更新指定列。 |
void |
updateBoolean(String columnName, boolean x) 用 boolean 值更新指定列。 |
void |
updateByte(int columnIndex, byte x) 用 byte 值更新指定列。 |
void |
updateByte(String columnName, byte x) 用 byte 值更新指定列。 |
void |
updateBytes(int columnIndex, byte[] x) 用 byte 數組值更新指定列。 |
void |
updateBytes(String columnName, byte[] x) 用字節數組值更新指定列。 |
void |
updateCharacterStream(int columnIndex, Reader x, int length) 用字符流值更新指定列。 |
void |
updateCharacterStream(String columnName, Reader reader, int length) 用字符流值更新指定列。 |
void |
updateClob(int columnIndex, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateClob(String columnName, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateDate(int columnIndex, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDate(String columnName, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDouble(int columnIndex, double x) 用 double 值更新指定列。 |
void |
updateDouble(String columnName, double x) 用 double 值更新指定列。 |
void |
updateFloat(int columnIndex, float x) 用 float 值更新指定列。 |
void |
updateFloat(String columnName, float x) 用 float 值更新指定列。 |
void |
updateInt(int columnIndex, int x) 用 int 值更新指定列。 |
void |
updateInt(String columnName, int x) 用 int 值更新指定列。 |
void |
updateLong(int columnIndex, long x) 用 long 值更新指定列。 |
void |
updateLong(String columnName, long x) 用 long 值更新指定列。 |
void |
updateNull(int columnIndex) 為可以為 null 的列提供 null 值。 |
void |
updateNull(String columnName) 用 null 值更新指定列。 |
void |
updateObject(int columnIndex, Object x) 用 Object 值更新指定列。 |
void |
updateObject(int columnIndex, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateRef(int columnIndex, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRef(String columnName, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRow() 用此 ResultSet 對象的當前行的新內容更新底層數據庫。 |
void |
updateShort(int columnIndex, short x) 用 short 值更新指定列。 |
void |
updateShort(String columnName, short x) 用 short 值更新指定列。 |
void |
updateString(int columnIndex, String x) 用 String 值更新指定列。 |
void |
updateString(String columnName, String x) 用 String 值更新指定列。 |
void |
updateTime(int columnIndex, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTime(String columnName, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTimestamp(int columnIndex, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
void |
updateTimestamp(String columnName, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
boolean |
wasNull() 報告最后一個讀取的列是否具有值 SQL NULL 。 |
字段詳細信息 |
---|
FETCH_FORWARD
static final int FETCH_FORWARD
-
該常量指示將按正向(即從第一個到最后一個)處理結果集中的行。
setFetchDirection
方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
FETCH_REVERSE
static final int FETCH_REVERSE
-
該常量指示將按反向(即從最后一個到第一個)處理結果集中的行處理。
setFetchDirection
方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
FETCH_UNKNOWN
static final int FETCH_UNKNOWN
-
該常量指示結果集中的行的處理順序未知。
setFetchDirection
方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 另請參見:
- 常量字段值
TYPE_FORWARD_ONLY
static final int TYPE_FORWARD_ONLY
-
該常量指示指針只能向前移動的
ResultSet
對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
TYPE_SCROLL_INSENSITIVE
static final int TYPE_SCROLL_INSENSITIVE
-
該常量指示可滾動但通常不受其他的更改影響的
ResultSet
對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
TYPE_SCROLL_SENSITIVE
static final int TYPE_SCROLL_SENSITIVE
-
該常量指示可滾動並且通常受其他的更改影響的
ResultSet
對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
CONCUR_READ_ONLY
static final int CONCUR_READ_ONLY
-
該常量指示不可以更新的
ResultSet
對象的並發模式。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
CONCUR_UPDATABLE
static final int CONCUR_UPDATABLE
-
該常量指示可以更新的
ResultSet
對象的並發模式。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
HOLD_CURSORS_OVER_COMMIT
static final int HOLD_CURSORS_OVER_COMMIT
-
該常量指示調用
Connection.commit
方法時不應關閉ResultSet
對象。- 從以下版本開始:
- 1.4
- 另請參見:
- 常量字段值
CLOSE_CURSORS_AT_COMMIT
static final int CLOSE_CURSORS_AT_COMMIT
-
該常量指示調用
Connection.commit
方法時應該關閉ResultSet
對象。- 從以下版本開始:
- 1.4
- 另請參見:
- 常量字段值
方法詳細信息 |
---|
next
boolean next() throws SQLException
-
將指針從當前位置下移一行。
ResultSet
指針最初位於第一行之前;第一次調用next
方法使第一行成為當前行;第二次調用使第二行成為當前行,依此類推。如果開啟了對當前行的輸入流,則調用
next
方法將隱式關閉它。讀取新行時,將清除ResultSet
對象的警告鏈。 -
- 返回:
-
如果新的當前行有效,則返回
true
;如果不存在下一行,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
close
void close() throws SQLException
-
立即釋放此
ResultSet
對象的數據庫和 JDBC 資源,而不是等待該對象自動關閉時發生此操作。注:當生成
ResultSet
對象的Statement
對象關閉、重新執行或用來從多個結果的序列檢索下一個結果時,該Statement
對象會自動關閉ResultSet
對象。垃圾回收ResultSet
對象時它也會自動關閉。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
wasNull
boolean wasNull() throws SQLException
-
報告最后一個讀取的列是否具有值 SQL
NULL
。注意,必須首先對列調用一個獲取方法來嘗試讀取其值,然后調用wasNull
方法查看讀取的值是否為 SQLNULL
。 -
- 返回:
-
如果最后一個讀取的列值為 SQL
NULL
,則返回true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getString
String getString(int columnIndex) throws SQLException
-
以 Java 編程語言中
String
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBoolean
boolean getBoolean(int columnIndex) throws SQLException
-
以 Java 編程語言中
boolean
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getByte
byte getByte(int columnIndex) throws SQLException
-
以 Java 編程語言中
byte
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getShort
short getShort(int columnIndex) throws SQLException
-
以 Java 編程語言中
short
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getInt
int getInt(int columnIndex) throws SQLException
-
以 Java 編程語言中
int
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getLong
long getLong(int columnIndex) throws SQLException
-
以 Java 編程語言中
long
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getFloat
float getFloat(int columnIndex) throws SQLException
-
以 Java 編程語言中
float
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getDouble
double getDouble(int columnIndex) throws SQLException
-
以 Java 編程語言中
double
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBigDecimal
@Deprecated BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
-
已過時。
-
以 Java 編程語言中
java.sql.BigDecimal
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
scale
- 小數點右邊的位數 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBytes
byte[] getBytes(int columnIndex) throws SQLException
-
以 Java 編程語言中
byte
數組的形式檢索此ResultSet
對象的當前行中指定列的值。這些字節表示驅動程序返回的原始值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getDate
Date getDate(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Date
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getTime
Time getTime(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Time
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getTimestamp
Timestamp getTimestamp(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getAsciiStream
InputStream getAsciiStream(int columnIndex) throws SQLException
-
以 ASCII 字符流的形式檢索此
ResultSet
對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的 LONGVARCHAR 值。JDBC 驅動程序將執行從數據庫格式到 ASCII 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
以一字節 ASCII 字符流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getUnicodeStream
@Deprecated InputStream getUnicodeStream(int columnIndex) throws SQLException
-
已過時。
使用
getCharacterStream
取代getUnicodeStream
-
以兩字節 Unicode 字符流的形式檢索此
ResultSet
對象的當前行中指定列的值。第一個字節是高字節;第二個字節是低字節。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR
值。JDBC 驅動程序將執行從數據庫格式到 Unicode 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
以兩字節 Unicode 字符流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBinaryStream
InputStream getBinaryStream(int columnIndex) throws SQLException
-
以未解釋字節的二進制流的形式檢索此
ResultSet
對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARBINARY
值。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
以未解釋字節的流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getString
String getString(String columnName) throws SQLException
-
以 Java 編程語言中
String
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBoolean
boolean getBoolean(String columnName) throws SQLException
-
以 Java 編程語言中
boolean
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getByte
byte getByte(String columnName) throws SQLException
-
以 Java 編程語言中
byte
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getShort
short getShort(String columnName) throws SQLException
-
以 Java 編程語言中
short
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getInt
int getInt(String columnName) throws SQLException
-
以 Java 編程語言中
int
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getLong
long getLong(String columnName) throws SQLException
-
以 Java 編程語言中
long
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getFloat
float getFloat(String columnName) throws SQLException
-
以 Java 編程語言中
float
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getDouble
double getDouble(String columnName) throws SQLException
-
以 Java 編程語言中
double
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBigDecimal
@Deprecated BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
-
已過時。
-
以 Java 編程語言中
java.math.BigDecimal
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 -
scale
- 小數點右邊的位數 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBytes
byte[] getBytes(String columnName) throws SQLException
-
以 Java 編程語言中
byte
數組的形式檢索此ResultSet
對象的當前行中指定列的值。這些字節表示驅動程序返回的原始值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getDate
Date getDate(String columnName) throws SQLException
-
以 Java 編程語言中的
java.sql.Date
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getTime
Time getTime(String columnName) throws SQLException
-
以 Java 編程語言中
java.sql.Time
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getTimestamp
Timestamp getTimestamp(String columnName) throws SQLException
-
以
java.sql.Timestamp
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getAsciiStream
InputStream getAsciiStream(String columnName) throws SQLException
-
以 ASCII 字符流的形式檢索此
ResultSet
對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR
值。JDBC 驅動程序將執行從數據庫格式到 ASCII 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
以一字節 ASCII 字符流的形式返回傳遞數據庫列值的 Java 輸入流。如果值為 SQL
NULL
,則返回值為null
。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getUnicodeStream
@Deprecated InputStream getUnicodeStream(String columnName) throws SQLException
-
已過時。
使用
getCharacterStream
代替 -
以兩字節 Unicode 字符流的形式檢索此
ResultSet
對象的當前行中指定列的值。第一個字節是高字節;第二個字節是低字節。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR
值。采用 JDBC 技術的驅動程序將執行從數據庫格式到 Unicode 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
以兩字節 Unicode 字符流的形式返回傳遞數據庫列值的 Java 輸入流。如果值為 SQL
NULL
,則返回值為null
。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getBinaryStream
InputStream getBinaryStream(String columnName) throws SQLException
-
以未解釋的
byte
流的形式檢索此ResultSet
對象的當前行中指定列的值。然后可以按塊從流中讀取該值。此方法尤其適合於檢索很大的LONGVARBINARY
值。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
available
方法時,不管是否存在可用數據,流都可能返回0
。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
以未解釋字節流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL
,則返回值為null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getWarnings
SQLWarning getWarnings() throws SQLException
-
檢索此
ResultSet
對象上的調用報告的第一個警告。此ResultSet
對象上的后續警告會被鏈接到此方法返回的SQLWarning
對象。每次讀取新行時,都會自動清除警告鏈。不可以在已經關閉的
ResultSet
對象上調用此方法;這樣做將導致拋出SQLException
。注:此警告鏈僅包含
ResultSet
方法產生的警告。Statement
方法(如讀取 OUT 參數)產生的任何警告都將鏈接在Statement
對象上。 -
- 返回:
-
報告的第一個
SQLWarning
對象;如果不存在,則返回null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者在關閉的結果集上調用此方法
clearWarnings
void clearWarnings() throws SQLException
-
清除在此
ResultSet
對象上報告的所有警告。調用此方法后,在為此ResultSet
對象報告新的警告之前,getWarnings
方法將返回null
。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getCursorName
String getCursorName() throws SQLException
-
檢索此
ResultSet
對象使用的 SQL 指針的名稱。在 SQL 中,通過命名的指針檢索結果表。通過一個引用指針名稱來確定位置的更新/刪除語句,可以更新或刪除結果集的當前行。為了確保指針具有支持更新的適當隔離級別,指針的
SELECT
語句的形式應該為SELECT FOR UPDATE
。如果省略FOR UPDATE
,則定位更新可能失敗。JDBC API 通過提供
ResultSet
對象使用的 SQL 指針的名稱支持此 SQL 功能。ResultSet
對象的當前行也是此 SQL 指針的當前行。注:如果不支持定位更新,則拋出
SQLException
。 -
- 返回:
-
此
ResultSet
對象的指針的 SQL 名稱 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getMetaData
ResultSetMetaData getMetaData() throws SQLException
-
檢索此
ResultSet
對象的列的編號、類型和屬性。 -
- 返回:
-
此
ResultSet
對象的列的描述 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getObject
Object getObject(int columnIndex) throws SQLException
-
以 Java 編程語言中
Object
的形式獲取此ResultSet
對象的當前行中指定列的值。此方法將以 Java 對象的形式返回給定列的值。Java 對象的類型將為與該列的 SQL 類型相對應的默認 Java 對象類型,它遵守在 JDBC 規范中指定的內置類型的映射關系。如果值為 SQL
NULL
,則驅動程序返回一個 Javanull
。此方法還可用於讀取特定於數據庫的抽象數據類型。在 JDBC 2.0 API 中,可以擴展
getObject
方法的行為來實現 SQL 自定義類型的數據。當列包含結構化的或獨特的值時,此方法的行為類似於調用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())
。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
保存列值的
java.lang.Object
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
getObject
Object getObject(String columnName) throws SQLException
-
以 Java 編程語言中
Object
的形式獲取此ResultSet
對象的當前行中指定列的值。此方法將以 Java 對象的形式返回給定列的值。Java 對象的類型將為與該列的 SQL 類型相對應的默認 Java 對象類型,它遵守在 JDBC 規范中指定的內置類型的映射關系。如果值為 SQL
NULL
,則驅動程序返回一個 Javanull
。此方法還可用於讀取特定於數據庫的抽象數據類型。
在 JDBC 2.0 API 中,可以擴展
getObject
方法的行為來實現 SQL 自定義類型的數據。當列包含結構化的或獨特的值時,此方法的行為類似於調用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())
。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
保存列值的
java.lang.Object
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤
findColumn
int findColumn(String columnName) throws SQLException
-
將給定的
ResultSet
列名稱映射到其ResultSet
列索引。 -
- 參數:
-
columnName
- 列的名稱 - 返回:
- 給定列名稱的列索引
- 拋出:
-
SQLException
- 如果ResultSet
對象不包含columnName
或者發生數據庫訪問錯誤
getCharacterStream
Reader getCharacterStream(int columnIndex) throws SQLException
-
以
java.io.Reader
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
包含列值的
java.io.Reader
對象;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getCharacterStream
Reader getCharacterStream(String columnName) throws SQLException
-
以
java.io.Reader
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的名稱 - 返回:
-
包含列值的
java.io.Reader
對象;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(int columnIndex) throws SQLException
-
以具有全精度的
java.math.BigDecimal
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值(全精度);如果值為 SQL
NULL
,則返回值為 Java 編程語言中的null
。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(String columnName) throws SQLException
-
以具有全精度的
java.math.BigDecimal
的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列名稱 - 返回:
-
列值(全精度);如果值為 SQL
NULL
,則返回值為 Java 編程語言中的null
。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isBeforeFirst
boolean isBeforeFirst() throws SQLException
-
檢索指針是否位於此
ResultSet
對象的第一行之前。 -
- 返回:
-
如果指針位於第一行之前,則返回
true
;如果指針位於任何其他位置或者結果集不包含任何行,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isAfterLast
boolean isAfterLast() throws SQLException
-
檢索指針是否位於此
ResultSet
對象的最后一行之后。 -
- 返回:
-
如果指針位於最后一行之后,則返回
true
;如果指針位於任何其他位置或者結果集不包含任何行,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isFirst
boolean isFirst() throws SQLException
-
檢索指針是否位於此
ResultSet
對象的第一行。 -
- 返回:
-
如果指針位於第一行,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isLast
boolean isLast() throws SQLException
-
檢索指針是否位於此
ResultSet
對象的最后一行。注:調用isLast
方法可能開銷很大,因為 JDBC 驅動程序可能需要再往后獲取一行,以確定當前行是否為結果集中的最后一行。 -
- 返回:
-
如果指針位於最后一行上,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
beforeFirst
void beforeFirst() throws SQLException
-
將指針移動到此
ResultSet
對象的開頭,正好位於第一行之前。如果結果集中不包含任何行,則此方法無效。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
afterLast
void afterLast() throws SQLException
-
將指針移動到此
ResultSet
對象的末尾,正好位於最后一行之后。如果結果集中不包含任何行,則此方法無效。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
first
boolean first() throws SQLException
-
將指針移動到此
ResultSet
對象的第一行。 -
- 返回:
-
如果指針位於有效行,則返回
true
;如果結果集中不存在任何行,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
last
boolean last() throws SQLException
-
將指針移動到此
ResultSet
對象的最后一行。 -
- 返回:
-
如果指針位於有效行,則返回
true
;如果結果集中不存在任何行,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
getRow
int getRow() throws SQLException
-
檢索當前行編號。第一行為 1 號,第二行為 2 號,依此類推。
-
- 返回:
-
當前行的編號;如果不存在當前行,則返回
0
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
absolute
boolean absolute(int row) throws SQLException
-
將指針移動到此
ResultSet
對象的給定行編號。如果行編號為正,則將指針移動到相對於結果集開頭的給定行編號。第一行為行 1,第二行為行 2,依此類推。
如果給定行編號為負,則將指針移動到相對於結果集末尾的絕對行位置。例如,調用方法
absolute(-1)
將指針置於最后一行;調用方法absolute(-2)
將指針移動到倒數第二行,依此類推。試圖將指針置於結果集的第一行/最后一行之外將導致指針位於第一行之前或最后一行之后。
注:調用
absolute(1)
等效於調用first()
。調用absolute(-1)
等效於調用last()
。 -
- 參數:
-
row
- 指針應該移動到的行的編號。正的編號指示從結果集開頭開始計數的行編號;負的編號指示從結果集末尾開始計數的行編號 - 返回:
-
如果指針位於結果集上,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
relative
boolean relative(int rows) throws SQLException
-
按相對行數(或正或負)移動指針。試圖移動到結果集的第一行/最后一行之外,會將指針置於第一行之前或最后一行之后。調用
relative(0)
有效,但是不更改指針位置。注:調用方法
relative(1)
等效於調用方法next()
,而調用方法relative(-1)
等效於調用方法previous()
。 -
- 參數:
-
rows
- 指定從當前行開始移動的行數的int
;正數表示指針向前移動;負數表示指針向后移動 - 返回:
-
如果指針位於行上,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤、不存在當前行或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
previous
boolean previous() throws SQLException
-
將指針移動到此
ResultSet
對象的上一行。 -
- 返回:
-
如果指針位於有效行上,則返回
true
;如果它不在結果集中,則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY
- 從以下版本開始:
- 1.2
setFetchDirection
void setFetchDirection(int direction) throws SQLException
-
設置此
ResultSet
對象中行的處理方向。初始值由生成此ResultSet
對象的Statement
對象確定。獲取方向可以在任何時間更改。 -
- 參數:
-
direction
- 指定建議獲取方向的int
;ResultSet.FETCH_FORWARD
、ResultSet.FETCH_REVERSE
或ResultSet.FETCH_UNKNOWN
之一 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤,或者結果集類型為TYPE_FORWARD_ONLY
但獲取方向不是FETCH_FORWARD
- 從以下版本開始:
- 1.2
- 另請參見:
-
Statement.setFetchDirection(int)
,getFetchDirection()
getFetchDirection
int getFetchDirection() throws SQLException
-
檢索此
ResultSet
對象的獲取方向。 -
- 返回:
-
此
ResultSet
對象的當前獲取方向 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
setFetchDirection(int)
setFetchSize
void setFetchSize(int rows) throws SQLException
-
為 JDBC 驅動程序設置此
ResultSet
對象需要更多行時應該從數據庫獲取的行數。如果指定的獲取大小為零,則 JDBC 驅動程序忽略該值,隨意對獲取大小作出它自己的最佳猜測。默認值由創建結果集的Statement
對象設置。獲取大小可以在任何時間更改。 -
- 參數:
-
rows
- 要獲取的行數 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者不滿足條件0 <= rows <= Statement.getMaxRows()
- 從以下版本開始:
- 1.2
- 另請參見:
-
getFetchSize()
getFetchSize
int getFetchSize() throws SQLException
-
檢索此
ResultSet
對象的獲取大小。 -
- 返回:
-
此
ResultSet
對象的當前獲取大小 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
setFetchSize(int)
getType
int getType() throws SQLException
-
檢索此
ResultSet
對象的類型。類型由創建結果集的Statement
對象確定。 -
- 返回:
-
ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
或ResultSet.TYPE_SCROLL_SENSITIVE
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getConcurrency
int getConcurrency() throws SQLException
-
檢索此
ResultSet
對象的並發模式。使用的並發由創建結果集的Statement
對象確定。 -
- 返回:
-
並發類型,
ResultSet.CONCUR_READ_ONLY
或ResultSet.CONCUR_UPDATABLE
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
rowUpdated
boolean rowUpdated() throws SQLException
-
檢索是否已更新當前行。返回值取決於結果集是否可以檢測到更新。
-
- 返回:
-
如果 (1) 所有者或其他人已對行進行可見更新 (2) 可以檢測到更新都成立,則返回
true
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.updatesAreDetected(int)
rowInserted
boolean rowInserted() throws SQLException
-
檢索當前行是否已有插入。返回值取決於此
ResultSet
對象是否可以檢測到可見插入。 -
- 返回:
-
如果行已有插入並且檢測到插入,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.insertsAreDetected(int)
rowDeleted
boolean rowDeleted() throws SQLException
-
檢索是否已刪除某行。刪除的行可能在結果集中留下一個可見的“洞”。此方法可用於檢測結果集中的洞。返回值取決於此
ResultSet
對象是否可以檢測到刪除。 -
- 返回:
-
如果刪除了行並且檢測到刪除,則返回
true
;否則返回false
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.deletesAreDetected(int)
updateNull
void updateNull(int columnIndex) throws SQLException
-
為可以為 null 的列提供 null 值。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBoolean
void updateBoolean(int columnIndex, boolean x) throws SQLException
-
用
boolean
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateByte
void updateByte(int columnIndex, byte x) throws SQLException
-
用
byte
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateShort
void updateShort(int columnIndex, short x) throws SQLException
-
用
short
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateInt
void updateInt(int columnIndex, int x) throws SQLException
-
用
int
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateLong
void updateLong(int columnIndex, long x) throws SQLException
-
用
long
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會不更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateFloat
void updateFloat(int columnIndex, float x) throws SQLException
-
用
float
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDouble
void updateDouble(int columnIndex, double x) throws SQLException
-
用
double
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBigDecimal
void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
-
用
java.math.BigDecimal
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateString
void updateString(int columnIndex, String x) throws SQLException
-
用
String
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBytes
void updateBytes(int columnIndex, byte[] x) throws SQLException
-
用
byte
數組值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDate
void updateDate(int columnIndex, Date x) throws SQLException
-
用
java.sql.Date
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTime
void updateTime(int columnIndex, Time x) throws SQLException
-
用
java.sql.Time
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTimestamp
void updateTimestamp(int columnIndex, Timestamp x) throws SQLException
-
用
java.sql.Timestamp
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
-
用 ascii 流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException
-
用二進制流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException
-
用字符流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(int columnIndex, Object x, int scale) throws SQLException
-
用
Object
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 -
scale
- 對於java.sql.Types.DECIMA
或java.sql.Types.NUMERIC
類型,此參數是小數點后面的位數。對於其他所有類型,將忽略此值。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(int columnIndex, Object x) throws SQLException
-
用
Object
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateNull
void updateNull(String columnName) throws SQLException
-
用
null
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBoolean
void updateBoolean(String columnName, boolean x) throws SQLException
-
用
boolean
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateByte
void updateByte(String columnName, byte x) throws SQLException
-
用
byte
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateShort
void updateShort(String columnName, short x) throws SQLException
-
用
short
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateInt
void updateInt(String columnName, int x) throws SQLException
-
用
int
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateLong
void updateLong(String columnName, long x) throws SQLException
-
用
long
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateFloat
void updateFloat(String columnName, float x) throws SQLException
-
用
float
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDouble
void updateDouble(String columnName, double x) throws SQLException
-
用
double
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBigDecimal
void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
-
用
java.sql.BigDecimal
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateString
void updateString(String columnName, String x) throws SQLException
-
用
String
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBytes
void updateBytes(String columnName, byte[] x) throws SQLException
-
用字節數組值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDate
void updateDate(String columnName, Date x) throws SQLException
-
用
java.sql.Date
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTime
void updateTime(String columnName, Time x) throws SQLException
-
用
java.sql.Time
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTimestamp
void updateTimestamp(String columnName, Timestamp x) throws SQLException
-
用
java.sql.Timestamp
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateAsciiStream
void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
-
用 ascii 流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBinaryStream
void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
-
用二進制流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateCharacterStream
void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
-
用字符流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
reader
- 包含新列值的java.io.Reader
對象 -
length
- 流的長度 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(String columnName, Object x, int scale) throws SQLException
-
用
Object
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 -
scale
- 對於java.sql.Types.DECIMAL
或java.sql.Types.NUMERIC
類型,此參數是小數點后面的位數。對於其他所有類型,將忽略此值。 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(String columnName, Object x) throws SQLException
-
用
Object
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
insertRow
void insertRow() throws SQLException
-
將插入行的內容插入到此
ResultSet
對象和數據庫中。調用此方法時,指針必須位於插入行上。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤,如果在指針不位於插入行上時調用此方法,或者插入行中所有不可為 null 的列中還存在未分配值的列 - 從以下版本開始:
- 1.2
updateRow
void updateRow() throws SQLException
-
用此
ResultSet
對象的當前行的新內容更新底層數據庫。指針不位於插入行上時不能調用此方法。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
deleteRow
void deleteRow() throws SQLException
-
從此
ResultSet
對象和底層數據庫中刪除當前行。指針不位於插入行上時不能調用此方法。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
refreshRow
void refreshRow() throws SQLException
-
用數據庫中的最近值刷新當前行。指針不位於插入行上時不能調用此方法。
refreshRow
方法提供一種讓應用程序顯式告知 JDBC 驅動程序從數據庫重新獲取行的方式。應用程序可能需要在 JDBC 驅動程序完成緩存或預獲取操作后調用refreshRow
,以便從數據庫獲取行的最新值。如果獲取大小大於 1,則 JDBC 驅動程序可以一次實際刷新多行。應根據事務隔離級別和指針敏感度確定是否重新獲取所有值。如果在調用更新方法之后,但在調用
updateRow
方法之前調用refreshRow
,則會丟失對行所作的更新。頻繁調用方法refreshRow
可能導致性能下降。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
cancelRowUpdates
void cancelRowUpdates() throws SQLException
-
取消對
ResultSet
對象中的當前行所作的更新。此方法在調用更新方法之后,但在調用updateRow
方法之前調用才可以回滾對行所作的更新。如果沒有進行任何更新或者已經調用updateRow
方法,則此方法無效。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
moveToInsertRow
void moveToInsertRow() throws SQLException
-
將指針移動到插入行。將指針置於插入行上時,當前的指針位置會被記住。插入行是一個與可更新結果集相關聯的特殊行。它實際上是一個緩沖區,在將行插入到結果集前可以通過調用更新方法在其中構造新行。當指針位於插入行上時,僅能調用更新方法、獲取方法以及
insertRow
方法。每次在調用insertRow
之前調用此方法時,必須為結果集中的所有列分配值。在對列值調用獲取方法之前,必須調用更新方法。 -
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集不可更新 - 從以下版本開始:
- 1.2
moveToCurrentRow
void moveToCurrentRow() throws SQLException
-
將指針移動到記住的指針位置,通常為當前行。如果指針不位於插入行上,則此方法無效。
-
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者結果集不可更新 - 從以下版本開始:
- 1.2
getStatement
Statement getStatement() throws SQLException
-
檢索生成此
ResultSet
對象的Statement
對象。如果結果集是以其他方式生成的(如通過DatabaseMetaData
方法),則此方法返回null
。 -
- 返回:
-
生成此
ResultSet
對象的Statment
對象;如果結果集是以其他方法生成的,則返回null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getObject
Object getObject(int i, Map<String,Class<?>> map) throws SQLException
-
以 Java 編程語言中
Object
的形式檢索此ResultSet
對象的當前行中指定列的值。如果值為 SQLNULL
,則驅動程序返回一個 Javanull
。此方法使用給定的Map
對象作為正在檢索的 SQL 結構化或獨特類型的自定義映射關系。 -
- 參數:
-
i
- 第一個列是 1,第二個列是 2,…… -
map
- 一個java.util.Map
對象,包含從 SQL 類型名稱到 Java 編程語言中類的映射關系 - 返回:
-
表示 SQL 值的 Java 編程語言中的
Object
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getRef
Ref getRef(int i) throws SQLException
-
以 Java 編程語言中
Ref
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
i
- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示 SQL
REF
值的Ref
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBlob
Blob getBlob(int i) throws SQLException
-
以 Java 編程語言中
Blob
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
i
- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
BLOB
值的BLOB
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getClob
Clob getClob(int i) throws SQLException
-
以 Java 編程語言中
Clob
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
i
- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
Clob
值的Clob
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getArray
Array getArray(int i) throws SQLException
-
以 Java 編程語言中
Array
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
i
- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
Array
值的Array
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getObject
Object getObject(String colName, Map<String,Class<?>> map) throws SQLException
-
以 Java 編程語言中
Object
的形式檢索此ResultSet
對象的當前行中指定列的值。如果值為 SQLNULL
,則驅動程序返回一個 Javanull
。此方法使用指定的Map
對象自定義映射關系(如果合適)。 -
- 參數:
-
colName
- 列的名稱,根據它來檢索值 -
map
- 包含從 SQL 類型名稱到 Java 編程語言中類的映射關系的java.util.Map
對象 - 返回:
-
表示指定列中的 SQL 值的
Object
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getRef
Ref getRef(String colName) throws SQLException
-
以 Java 編程語言中
Ref
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
colName
- 列名稱 - 返回:
-
表示指定列中 SQL
Ref
值的Ref
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBlob
Blob getBlob(String colName) throws SQLException
-
以 Java 編程語言中
Blob
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
colName
- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
Blob
值的Blob
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getClob
Clob getClob(String colName) throws SQLException
-
以 Java 編程語言中
Clob
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
colName
- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
CLOB
值的Clob
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getArray
Array getArray(String colName) throws SQLException
-
以 Java 編程語言中
Array
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
colName
- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
ARRAY
值的ARRAY
對象 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getDate
Date getDate(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Date
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造日期的適當毫秒值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
cal
- 在構造日期時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Date
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getDate
Date getDate(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Date
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造日期的適當毫秒值。 -
- 參數:
-
columnName
- 列的 SQL 名稱,根據它檢索值 -
cal
- 在構造日期時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Date
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTime
Time getTime(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Time
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間的適當毫秒值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
cal
- 在構造時間時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Time
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTime
Time getTime(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Time
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間的適當毫秒值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 -
cal
- 在構造時間時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Time
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTimestamp
Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間戳的適當毫秒值。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
cal
- 在構造時間戳時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Timestamp
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTimestamp
Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp
對象的形式檢索此ResultSet
對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間戳的適當毫秒值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 -
cal
- 在構造日期時使用的java.util.Calendar
對象 - 返回:
-
java.sql.Timestamp
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getURL
URL getURL(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.net.URL
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnIndex
- 索引,其中第一個列是 1、第二個列是 2,…… - 返回:
-
java.net.URL
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者 URL 是錯誤的 - 從以下版本開始:
- 1.4
getURL
URL getURL(String columnName) throws SQLException
-
以 Java 編程語言中
java.net.URL
對象的形式檢索此ResultSet
對象的當前行中指定列的值。 -
- 參數:
-
columnName
- 列的 SQL 名稱 - 返回:
-
java.net.URL
對象形式的列值;如果值為 SQLNULL
,則返回值為 Java 編程語言中的null
- 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤或者 URL 是錯誤的 - 從以下版本開始:
- 1.4
updateRef
void updateRef(int columnIndex, Ref x) throws SQLException
-
用
java.sql.Ref
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateRef
void updateRef(String columnName, Ref x) throws SQLException
-
用
java.sql.Ref
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateBlob
void updateBlob(int columnIndex, Blob x) throws SQLException
-
用
java.sql.Blob
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateBlob
void updateBlob(String columnName, Blob x) throws SQLException
-
用
java.sql.Blob
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateClob
void updateClob(int columnIndex, Clob x) throws SQLException
-
用
java.sql.Clob
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateClob
void updateClob(String columnName, Clob x) throws SQLException
-
用
java.sql.Clob
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateArray
void updateArray(int columnIndex, Array x) throws SQLException
-
用
java.sql.Array
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。 -
- 參數:
-
columnIndex
- 第一個列是 1,第二個列是 2,…… -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateArray
void updateArray(String columnName, Array x) throws SQLException
-
用
java.sql.Array
值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow
或insertRow
方法。- 參數:
-
columnName
- 列的名稱 -
x
- 新列值 - 拋出:
-
SQLException
- 如果發生數據庫訪問錯誤