java.sql.ResultSet


public interface ResultSet
 

表示數據庫結果集的數據表,通常通過執行查詢數據庫的語句生成。 

ResultSet 對象具有指向其當前數據行的指針。最初,指針被置於第一行之前。next 方法將指針移動到下一行;因為該方法在 ResultSet 對象中沒有下一行時返回 false,所以可以在 while 循環中使用它來迭代結果集。 

默認的 ResultSet 對象不可更新,僅有一個向前移動的指針。因此,只能迭代它一次,並且只能按從第一行到最后一行的順序進行。可以生成可滾動和/或可更新的 ResultSet 對象。以下代碼片段(其中 con 為有效的 Connection 對象)演示了如何生成可滾動且不受其他更新影響的、可更新的結果集。請參閱 ResultSet 字段以了解其他選項。 

       Statement stmt = con.createStatement(
                                      ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
       ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
       // rs will be scrollable, will not show changes made by others,
       // and will be updatable

 

ResultSet 接口提供用於從當前行檢索列值的獲取方法(getBooleangetLong 等)。可以使用列的索引編號或列的名稱檢索值。一般情況下,使用列索引較為高效。列從 1 開始編號。為了獲得最大的可移植性,應該按從左到右的順序讀取每行中的結果集列,而且每列只能讀取一次。

對於獲取方法,JDBC 驅動程序嘗試將基礎數據轉換為在獲取方法中指定的 Java 類型,並返回適當的 Java 值。JDBC 規范有一個表,顯示允許的從 SQL 類型到供 ResultSet 獲取方法使用的 Java 類型的映射關系。 

 

用作獲取方法的輸入的列名稱不區分大小寫。用列名稱調用獲取方法時,如果多個列具有這一名稱,則返回第一個匹配列的值。列名稱選項在生成結果集的 SQL 查詢中使用列名稱時使用。對於沒有在查詢中顯式命名的列,最好使用列編號。如果使用列名稱,程序員無法保證名稱實際所指的就是預期的列。 

在 JDBC 2.0 API (JDK 1.2) 中,此接口添加了一組更新方法。關於獲取方法參數的注釋同樣適用於更新方法的參數。 

可以用以下兩種方式使用更新方法: 

  1. 更新當前行中的列值。在可滾動的 ResultSet 對象中,可以向前和向后移動指針,將其置於絕對位置或相對於當前行的位置。以下代碼片段更新 ResultSet 對象 rs 的第五行中的 NAME 列,然后使用方法 updateRow 更新用於派生 rs 的數據源表。
           rs.absolute(5); // moves the cursor to the fifth row of rs
           rs.updateString("NAME", "AINSWORTH"); // updates the 
              // NAME column of row 5 to be AINSWORTH
           rs.updateRow(); // updates the row in the data source
    
     
  2. 將列值插入到插入行中。可更新的 ResultSet 對象具有一個與其關聯的特殊行,該行用作構建要插入的行的暫存區域 (staging area)。以下代碼片段將指針移動到插入行,構建一個三列的行,並使用方法 insertRow 將其插入到 rs 和數據源表中。
           rs.moveToInsertRow(); // moves cursor to the insert row
           rs.updateString(1, "AINSWORTH"); // updates the 
              // first column of the insert row to be AINSWORTH
           rs.updateInt(2,35); // updates the second column to be 35
           rs.updateBoolean(3, true); // updates the third column to true
           rs.insertRow();
           rs.moveToCurrentRow();
    
     

當生成 ResultSet 對象的 Statement 對象關閉、重新執行或用來從多個結果的序列檢索下一個結果時,ResultSet 對象會自動關閉。 

ResultSet 對象的列的編號、類型和屬性由 ResultSet.getMetaData 方法返回的 ResulSetMetaData 對象提供。 

 

 

另請參見:
Statement.executeQuery(java.lang.String)Statement.getResultSet()ResultSetMetaData

字段摘要
static int CLOSE_CURSORS_AT_COMMIT 
          該常量指示調用 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 方法查看讀取的值是否為 SQL  NULL

 

返回:
如果最后一個讀取的列值為 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,則驅動程序返回一個 Java null。 

此方法還可用於讀取特定於數據庫的抽象數據類型。在 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,則驅動程序返回一個 Java null。 

此方法還可用於讀取特定於數據庫的抽象數據類型。 

在 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 對象;如果值為 SQL  NULL,則返回值為 Java 編程語言中的  null。 
拋出:
SQLException - 如果發生數據庫訪問錯誤 
從以下版本開始:
1.2 

getCharacterStream

Reader getCharacterStream(String columnName)
                          throws SQLException
以  java.io.Reader 對象的形式檢索此  ResultSet 對象的當前行中指定列的值。

 

參數:
columnName - 列的名稱 
返回:
包含列值的  java.io.Reader 對象;如果值為 SQL  NULL,則返回值為 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 - 指定建議獲取方向的  intResultSet.FETCH_FORWARDResultSet.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_ONLYResultSet.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 對象的當前行中指定列的值。如果值為 SQL  NULL,則驅動程序返回一個 Java  null。此方法使用給定的  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 對象的當前行中指定列的值。如果值為 SQL  NULL,則驅動程序返回一個 Java  null。此方法使用指定的  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 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 對象形式的列值;如果值為 SQL  NULL,則返回值為 Java 編程語言中的  null
拋出:
SQLException - 如果發生數據庫訪問錯誤 
從以下版本開始:
1.2 

getURL

URL getURL(int columnIndex)
           throws SQLException
以 Java 編程語言中  java.net.URL 對象的形式檢索此  ResultSet 對象的當前行中指定列的值。

 

參數:
columnIndex - 索引,其中第一個列是 1、第二個列是 2,…… 
返回:
java.net.URL 對象形式的列值;如果值為 SQL  NULL,則返回值為 Java 編程語言中的  null
拋出:
SQLException - 如果發生數據庫訪問錯誤或者 URL 是錯誤的 
從以下版本開始:
1.4 

getURL

URL getURL(String columnName)
           throws SQLException
以 Java 編程語言中  java.net.URL 對象的形式檢索此  ResultSet 對象的當前行中指定列的值。

 

參數:
columnName - 列的 SQL 名稱 
返回:
java.net.URL 對象形式的列值;如果值為 SQL  NULL,則返回值為 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 - 如果發生數據庫訪問錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM