JavaTM 2 Platform
Standard Ed. 6

javax.sql.rowset
類別 BaseRowSet

java.lang.Object
  繼承者 javax.sql.rowset.BaseRowSet
所有已實作的介面:
Serializable, Cloneable

public abstract class BaseRowSet
extends Object
implements Serializable, Cloneable

提供一個具有基本功能的 RowSet 物件的抽象類別。基本功能包括設置屬性和發送事件通知,這是所有 JavaBeansTM 元件都必須實作的。

1.0 概觀

BaseRowSet 類別為所有 RowSet 實作提供核心功能,所有標準實作可以結合使用此類別和一個或多個 RowSet 介面來提供標準特定於供應商的實作。更詳細地說,即所有實作必須至少實作一個 RowSet 介面(JdbcRowSetCachedRowSetJoinRowSetFilteredRowSetWebRowSet)。這意味著所有擴展 BaseRowSet 類別的實作也必須實作一個 RowSet 介面。

BaseRowSet 類別提供以下內容:

2.0 設置屬性

所有 rowset 都維護一個屬性集,通常使用某種工具來設置這些屬性。rowset 具有的屬性的數量和種類別各不相同,這取決於 RowSet 實作的用途及其獲得資料的方式。例如,從 ResultSet 物件獲得其資料的 rowset 需要設置那些建立資料庫連接所需的屬性。如果某個 RowSet 物件使用 DriverManager 設施建立連接,則它需要設置一個標識合適驅動程序的 JDBC URL 屬性,還需要設置那些提供使用者名和密碼的屬性。另一方面,如果 rowset 使用 DataSource 物件建立連接(這是首選的方法),則它無需設置 JDBC URL 屬性。但是它需要設置用於資料源邏輯名的屬性,以及使用者名和密碼的屬性。

註:要使用 DataSource 物件建立連接,該 DataSource 物件必須已經向使用 Java Naming and Directory InterfaceTM (JNDI) API 的命名服務註冊。通常由具有系統管理員資格的人員完成此註冊。

3.0 設置命令及其參數

rowset 從關係型資料庫獲取其資料時,它執行一條可產生 ResultSet 物件的命令(查詢)。此查詢就是為 RowSet 物件的 command 屬性所設置的命令。rowset 使用資料填充自身的方式是將資料從 ResultSet 物件讀取到其自身。如果查詢為要設置的值包含佔位符,則使用 BaseRowSet 的設置方法設置這些值。如有必要,所有設置方法都允許將這些值設置為 null

以下程式碼片斷展示了如何設置 CachedRowSetTM 物件 crs 的 command 屬性。注意,如果使用某種工具設置屬性,則這就是該工具應使用的程式碼。

    crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" +
                   "WHERE CREDIT_LIMIT > ? AND REGION = ?");
 

在此範例中,CREDIT_LIMITREGION 的值是佔位符參數,用一個問號 (?) 指示。第一個問號是佔位符參數編號 1,第二個問號是佔位符參數編號 2,依此類別推。執行查詢前必須為佔位符參數設置值。要設置這些佔位符參數,BaseRowSet 類別提供了一組與 PreparedStatement 介面類似的設置方法,用於設置每種資料型別的值。RowSet 物件內部存儲該參數值,該物件的 execute 方法在將要執行的命令發送到 DBMS 前,使用這些值內部設置佔位符參數的值。

以下程式碼片斷演示了如何設置前一個範例查詢中的兩個參數。

    crs.setInt(1, 5000);
    crs.setString(2, "West");
 
如果此時調用 execute 方法,則發送到 DBMS 的查詢是:
    "SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" +
                   "WHERE CREDIT_LIMIT > 5000 AND REGION = 'West'"
 
註:將 ArrayClobBlobRef 物件設置為命令參數,將這些值分別存儲為 SerialArraySerialClobSerialBlobSerialRef 物件。

4.0 在後台處理參數

註:BaseRowSet 類別提供兩類別設置方法:一類別設置屬性,一類別設置佔位符參數。此部分中討論的設置方法是設置佔位符參數的那一類別。

使用 BaseRowSet 的設置方法設置的佔位符參數以物件的形式存儲在內部 Hashtable 物件中。基本型別則以其 Object 型別存儲。例如,byteByte 物件的形式存儲,int 則以 Integer 物件的形式存儲。調用方法 execute 時,Hashtable 物件中的值替換命令中的適當佔位符參數。 調用方法 getParams 能夠以 Object 實例陣列的形式返回存儲在 Hashtable 物件中的值。此陣列中的元素可以是一個簡單的 Object 實例,也可以是一個陣列(Object 型別)。使用特定的設置方法可確定此陣列中某個元素是 Object 還是陣列。

大多數設置佔位符參數的方法採用兩個參數,第一個參數指示要設置的佔位符參數,第二個參數給出要設置的值。getIntgetStringgetBooleangetLong 之類別的方法屬於此類別。調用這些方法後,調用方法 getParams 將返回一個陣列,其中帶有已經設置的值。每個陣列元素都是一個 Object 實例,表示已經設置的值。根據傳遞到設置方法的 int(第一個參數)來確定這些值在陣列中的順序。該陣列中的值就是傳遞給設置方法的值(第二個參數)。換句話說,陣列中的第一個元素是為 RowSet 物件的命令中第一個佔位符參數所設置的值。第二個元素是為第二個佔位符參數所設置的值,依此類別推。

一些設置方法除了要設置的值外,還發送驅動程序和 DBMS 資訊。如果在使用了此類別設置方法後再調用方法 getParams,則陣列中的元素本身就是陣列,以容納附加資訊。在此類別別中,方法 setNull 是一個特例,因為它有一種形式只帶有兩個參數 (setNull(int parameterIndex, int SqlType))。儘管如此,它仍然需要一個陣列來包含要傳遞給驅動程序和 DBMS 的資訊。此陣列中的第一個元素是要設置的值,該值為 null;第二個元素是為 sqlType 提供的 int,指示要設置為 null 的 SQL 值的型別。某些 DBMS 需要此資訊,因此為了確保應用程序的可移植性,此資訊是必需的。當要設置為 null 的值是使用者定義的型別時,可使用該方法的另一種形式。這種形式帶有三個參數 (setNull(int parameterIndex, int sqlType, String typeName)),同樣需要一個陣列來包含要傳遞給驅動程序和 DBMS 的資訊。此陣列中的前兩個參數與第一種 setNull 相同。第三個參數 typeName 給出了使用者定義型別的 SQL 名稱。與其他設置方法一樣,通過 getParams 返回的陣列中元素的位置來指示要設置的佔位符參數的編號。所以,舉例來說,如果提供給 setNull 的參數是 2,則 getParams 返回的陣列中的第二個元素將是一個兩元素或三元素陣列。

某些方法(如 setObjectsetDate)還有帶有多於兩個參數的形式,這些額外的參數為驅動程序或 DBMS 提供資訊。例如,方法 setDatesetTimesetTimestamp 可將 Calendar 物件作為其第三個參數。如果 DBMS 沒有存儲時區資訊,則驅動程序使用 Calendar 物件來建構正在設置的 DateTimeTimestamp 物件。與提供附加資訊的其他方法一樣,getParams 返回的陣列中的元素是一個陣列,而不是簡單的 Object 實例。

方法 setAsciiStreamsetBinaryStreamsetCharacterStreamsetUnicodeStream(該方法已廢棄,所以應用程序應該使用 getCharacterStream)帶有三個參數,所以對於這些方法,getParams 返回的陣列中的元素也是一個陣列。這些設置方法的不同之處在於除了由參數提供的資訊外,該陣列還包含一個 BaseRowSet 常數,指示正在設置的串流型別。

註:由擴展此類別的 RowSet 實作內部調用方法 getParams;應用程序的開發人員通常不直接調用此方法。

5.0 事件通知

BaseRowSet 類別為 rowset 提供了事件通知機制。它包含欄位 listeners、添加和移除偵聽器的方法,以及將更改通知給偵聽器的方法。

偵聽器是一個實作了 RowSetListener 介面的物件。如果已經將偵聽器添加到 RowSet 物件的偵聽器列表,則 RowSet 物件上發生事件時它將獲得通知。每個偵聽器的 RowSetListener 方法實作定義了獲得發生事件的通知時,該物件將執行的操作。

RowSet 物件有三種可能的事件:

  1. 鼠標移動
  2. 更改了個別行(更新、刪除或插入)
  3. 更改了整個 RowSet 物件的內容

用於通知的 BaseRowSet 方法指示已經發生事件的型別。例如,方法 notifyRowChanged 指示某行已經被更新、刪除或插入。每種通知方法都創建 RowSetEvent 物件,將該物件提供給偵聽器,從而標識發生事件的 RowSet 物件。偵聽器如何使用此資訊(可能不執行任何操作)取決於它的實作方式。

6.0 預設行為

預設的 BaseRowSet 物件是用很多起始值初始化的。 擴展 BaseRowSet 類別的預設 RowSet 實例具有以下特點:

如果需要其他值,則應用程序必須顯式設置該屬性值。例如,以下程式碼行將 CachedRowSet 物件 crs 的最大行數設置為 500。

    crs.setMaxRows(500);
 
對於任何違反已定義斷言的情況,擴展此 BaseRowSet 類別的方法實作必須拋出 SQLException 物件。此外,如果擴展的類別覆寫和重新實作了任何 BaseRowSet 方法,並且遇到了連接性或底層資料源問題,則方法可以為此另外拋出 SQLException 物件。

另請參見:
序列化表格

欄位摘要
static int ASCII_STREAM_PARAM
          該常數向 RowSetReaderImpl 物件指示給定的參數是一個 ASCII 串流。
protected  InputStream asciiStream
          將由方法 getAsciiStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。
static int BINARY_STREAM_PARAM
          該常數向 RowSetReaderImpl 物件指示給定的參數是一個二進制串流。
protected  InputStream binaryStream
          將由方法 getBinaryStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。
protected  Reader charStream
          將由方法 getCharacterStream 返回的 Reader 物件,該方法在 ResultSet 介面中指定。
static int UNICODE_STREAM_PARAM
          該常數向 RowSetReaderImpl 物件指示給定的參數是一個 Unicode 串流。
protected  InputStream unicodeStream
          將由方法 getUnicodeStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。
 
建構子摘要
BaseRowSet()
          建構一個新的 BaseRowSet 物件,使用預設的 Vector 物件初始化其 listeners 欄位。
 
方法摘要
 void addRowSetListener(RowSetListener listener)
          只要在此 RowSet 物件上發生事件,就將通知該偵聽器。
 void clearParameters()
          清除所有此 RowSet 物件的內部參數表示形式的當前參數值,這些參數值將在執行此 RowSet 物件的命令時在其中設置這些參數。
 String getCommand()
          獲取作為此 RowSet 物件的命令的 SQL 查詢。
 int getConcurrency()
          返回此 RowSet 物件的共時性。
 String getDataSourceName()
          返回向使用 Java Naming and Directory Interface (JNDI) API 的命名服務所提供的邏輯名,這將獲得 javax.sql.DataSource 物件。
 boolean getEscapeProcessing()
          確定是否為此 RowSet 物件啟用了轉義處理。
 int getFetchDirection()
          獲取此 RowSet 物件的當前有關獲取方向的設置。
 int getFetchSize()
          返回此 RowSet 物件的獲取大小。
 int getMaxFieldSize()
          獲取可用於此 RowSet 物件列值的最大位元組數。
 int getMaxRows()
          獲取此 RowSet 物件可以包含的最大行數。
 Object[] getParams()
          獲取一個陣列,其中包含為此 RowSet 物件命令設置的參數值(包括 Object 和基本型別),如果尚未設置任何參數,則拋出 SQLException 物件。
 String getPassword()
          返回用於創建此 RowSet 物件的資料庫連接的密碼。
 int getQueryTimeout()
          獲取驅動程序等待查詢執行的最大秒數。
 boolean getShowDeleted()
          獲取一個 boolean 值,該值指示標記為刪除的行是否會出現在當前行集合中。
 int getTransactionIsolation()
          返回此 RowSet 物件連接的事務隔離屬性。
 int getType()
          返回此 RowSet 物件的型別。
 Map<String,Class<?>> getTypeMap()
          獲取與此 RowSet 物件的 Connection 物件關聯的型別映射表。
 String getUrl()
          獲取此 RowSet 物件的 javax.sql.Reader 物件用來建立與關聯型資料庫連接(使用啟用 JDBC 技術的驅動程序)的 JDBC URL。
 String getUsername()
          返回用於創建資料庫連接的使用者名。
protected  void initParams()
          執行必需的內部配置和初始化,從而允許所有 JDBC RowSet 實作開始使用 BaseRowSet 實例提供的標準設施。
 boolean isReadOnly()
          返回一個指示此 RowSet 物件是否為只讀的 boolean 值。
protected  void notifyCursorMoved()
          通知向此 RowSet 物件註冊的所有偵聽器其鼠標已移動。
protected  void notifyRowChanged()
          通知向此 RowSet 物件註冊的所有偵聽器其行已更改。
protected  void notifyRowSetChanged()
          通知向此 RowSet 物件註冊的所有偵聽器其整個內容已更改。
 void removeRowSetListener(RowSetListener listener)
          從此 RowSet 物件的偵聽器列表中移除指定的物件。
 void setArray(int parameterIndex, Array array)
          將指定參數設置為 Java 程式語言中的 Array 物件。
 void setAsciiStream(int parameterIndex, InputStream x)
          將此 RowSet 物件命令中的指定參數設置為給定輸入串流。
 void setAsciiStream(int parameterIndex, InputStream x, int length)
          將指定參數設置為給定的 java.io.InputStream 物件,該物件將具有指定的位元組數。
 void setAsciiStream(String parameterName, InputStream x)
          將指定參數設置為給定的輸入串流。
 void setAsciiStream(String parameterName, InputStream x, int length)
          將指定參數設置為給定輸入串流,該輸入串流將擁有指定位元組數。
 void setBigDecimal(int parameterIndex, BigDecimal x)
          將指定參數設置為給定的 java.lang.BigDecimal 值。
 void setBigDecimal(String parameterName, BigDecimal x)
          將指定參數設置為給定的 java.math.BigDecimal 值。
 void setBinaryStream(int parameterIndex, InputStream x)
          將此 RowSet 物件命令中的指定參數設置為給定輸入串流。
 void setBinaryStream(int parameterIndex, InputStream x, int length)
          將指定參數設置為給定的 java.io.InputStream 物件,該物件具有指定的位元組數。
 void setBinaryStream(String parameterName, InputStream x)
          將指定參數設置為給定輸入串流。
 void setBinaryStream(String parameterName, InputStream x, int length)
          將指定參數設置為給定的輸入串流,該輸入串流將擁有指定的位元組數。
 void setBlob(int parameterIndex, Blob x)
          將指定參數設置為 Java 程式語言中的給定 Blob 物件。
 void setBlob(int parameterIndex, InputStream inputStream)
          將指定參數設置為 InputStream 物件。
 void setBlob(int parameterIndex, InputStream inputStream, long length)
          將指定參數設置為 InputStream 物件。
 void setBlob(String parameterName, Blob x)
          將指定參數設置為給定的 java.sql.Blob 物件。
 void setBlob(String parameterName, InputStream inputStream)
          將指定參數設置為 InputStream 物件。
 void setBlob(String parameterName, InputStream inputStream, long length)
          將指定參數設置為 InputStream 物件。
 void setBoolean(int parameterIndex, boolean x)
          將指定參數設置為 Java 程式語言中的給定 boolean 值。
 void setBoolean(String parameterName, boolean x)
          將指定參數設置為給定的 Java boolean 值。
 void setByte(int parameterIndex, byte x)
          將指定參數設置為 Java 程式語言中的給定 byte 值。
 void setByte(String parameterName, byte x)
          將指定參數設置為給定的 Java byte 值。
 void setBytes(int parameterIndex, byte[] x)
          將指定參數設置為給定的 byte 陣列。
 void setBytes(String parameterName, byte[] x)
          將指定參數設置為給定的 Java byte 陣列。
 void setCharacterStream(int parameterIndex, Reader reader)
          將此 RowSet 物件命令中的指定參數設置為給定的 Reader 物件。
 void setCharacterStream(int parameterIndex, Reader reader, int length)
          將指定參數設置為給定的 java.io.Reader 物件,該物件具有指定的字元數。
 void setCharacterStream(String parameterName, Reader reader)
          將指定參數設置為給定 Reader 物件。
 void setCharacterStream(String parameterName, Reader reader, int length)
          將指定參數設置為給定的 Reader 物件,該物件是給定的字元長度數目。
 void setClob(int parameterIndex, Clob x)
          將指定參數設置為 Java 程式語言中的給定 Clob 物件。
 void setClob(int parameterIndex, Reader reader)
          將指定參數設置為 Reader 物件。
 void setClob(int parameterIndex, Reader reader, long length)
          將指定參數設置為 Reader 物件。
 void setClob(String parameterName, Clob x)
          將指定參數設置為給定的 java.sql.Clob 物件。
 void setClob(String parameterName, Reader reader)
          將指定參數設置為 Reader 物件。
 void setClob(String parameterName, Reader reader, long length)
          將指定參數設置為 Reader 物件。
 void setCommand(String cmd)
          將此 RowSet 物件的 command 屬性設置為給定的 String 物件,並清除為前一個命令設置的參數(如果有)。
 void setConcurrency(int concurrency)
          將此 RowSet 物件的共時性設置為指定的共時性。
 void setDataSourceName(String name)
          將此 RowSet 物件的 DataSource 名稱屬性設置為給定的邏輯名,並將此 RowSet 物件的 Url 屬性設置為 null
 void setDate(int parameterIndex, Date x)
          將指定參數設置為給定的 java.sql.Date 值。
 void setDate(int parameterIndex, Date x, Calendar cal)
          將指定參數設置為給定的 java.sql.Date 物件。
 void setDate(String parameterName, Date x)
          使用運行應用程序的虛擬機器所在的預設時區將指定參數設置為給定的 java.sql.Date 值。
 void setDate(String parameterName, Date x, Calendar cal)
          使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Date 值。
 void setDouble(int parameterIndex, double x)
          將指定參數設置為 Java 程式語言中的給定 double 值。
 void setDouble(String parameterName, double x)
          將指定參數設置為給定的 Java double 值。
 void setEscapeProcessing(boolean enable)
          設置為給定的 boolean 值,指示將 SQL 語句發送到資料庫之前,驅動程序是否掃瞄轉義語法並進行轉義替換。
 void setFetchDirection(int direction)
          為驅動程序提供一個性能提示,該提示指示處理此 RowSet 物件中各行時使用的方向。
 void setFetchSize(int rows)
          將此 RowSet 物件的獲取大小設置為給定的行數。
 void setFloat(int parameterIndex, float x)
          將指定參數設置為 Java 程式語言中的給定 float 值。
 void setFloat(String parameterName, float x)
          將指定參數設置為給定的 Java float 值。
 void setInt(int parameterIndex, int x)
          將指定參數設置為 Java 程式語言中的 int 值。
 void setInt(String parameterName, int x)
          將指定參數設置為給定的 Java int 值。
 void setLong(int parameterIndex, long x)
          將指定參數設置為 Java 程式語言中的給定 long 值。
 void setLong(String parameterName, long x)
          將指定參數設置為給定的 Java long 值。
 void setMaxFieldSize(int max)
          將可用於此 RowSet 物件列值的最大位元組數設置為給定數。
 void setMaxRows(int max)
          將此 RowSet 物件可以包含的最大行數設置為給定數。
 void setNCharacterStream(int parameterIndex, Reader value)
          將此 RowSet 物件命令中的指定參數設置為 Reader 物件。
 void setNCharacterStream(int parameterIndex, Reader value, long length)
          將指定參數設置為 Reader 物件。
 void setNCharacterStream(String parameterName, Reader value)
          將指定參數設置為 Reader 物件。
 void setNCharacterStream(String parameterName, Reader value, long length)
          將指定參數設置為 Reader 物件。
 void setNClob(int parameterIndex, NClob value)
          將指定參數設置為 java.sql.NClob 物件。
 void setNClob(int parameterIndex, Reader reader)
          將指定參數設置為 Reader 物件。
 void setNClob(int parameterIndex, Reader reader, long length)
          將指定參數設置為 Reader 物件。
 void setNClob(String parameterName, NClob value)
          將指定參數設置為 java.sql.NClob 物件。
 void setNClob(String parameterName, Reader reader)
          將指定參數設置為 Reader 物件。
 void setNClob(String parameterName, Reader reader, long length)
          將指定參數設置為 Reader 物件。
 void setNString(int parameterIndex, String value)
          將指定參數設置為給定的 String 物件。
 void setNString(String parameterName, String value)
          將指定參數設置為給定的 String 物件。
 void setNull(int parameterIndex, int sqlType)
          將指定參數設置為 SQL NULL
 void setNull(int parameterIndex, int sqlType, String typeName)
          將指定參數設置為 SQL NULL
 void setNull(String parameterName, int sqlType)
          將指定參數設置為 SQL NULL
 void setNull(String parameterName, int sqlType, String typeName)
          將指定參數設置為 SQL NULL
 void setObject(int parameterIndex, Object x)
          將指定參數設置為 Java 程式語言中的 Object
 void setObject(int parameterIndex, Object x, int targetSqlType)
          使用給定 Object 值設置指定參數的值。
 void setObject(int parameterIndex, Object x, int targetSqlType, int scale)
          將指定參數設置為 Java 程式語言中的 Object
 void setObject(String parameterName, Object x)
          使用給定物件設置指定參數的值。
 void setObject(String parameterName, Object x, int targetSqlType)
          使用給定物件設置指定參數的值。
 void setObject(String parameterName, Object x, int targetSqlType, int scale)
          使用給定物件設置指定參數的值。
 void setPassword(String pass)
          將用於創建此 RowSet 物件的資料庫連接的密碼設置為給定的 String 物件。
 void setQueryTimeout(int seconds)
          將驅動程序等待查詢執行的最大秒數設置為給定的數。
 void setReadOnly(boolean value)
          將此 RowSet 物件的 readOnly 屬性設置為給定的 boolean 值。
 void setRef(int parameterIndex, Ref ref)
          將指定參數設置為 Java 程式語言中的給定 Ref 物件。
 void setRowId(int parameterIndex, RowId x)
          將指定參數設置為給定的 java.sql.RowId 物件。
 void setRowId(String parameterName, RowId x)
          將指定參數設置為給定的 java.sql.RowId 物件。
 void setShort(int parameterIndex, short x)
          將指定參數設置為 Java 程式語言中的給定 short 值。
 void setShort(String parameterName, short x)
          將指定參數設置為給定的 Java short 值。
 void setShowDeleted(boolean value)
          將屬性 showDeleted 設置為給定的 boolean 值,該值指示標記為刪除的行是否會出現在當前行集合中。
 void setSQLXML(int parameterIndex, SQLXML xmlObject)
          將指定參數設置為給定 java.sql.SQLXML 物件。
 void setSQLXML(String parameterName, SQLXML xmlObject)
          將指定參數設置為給定的 java.sql.SQLXML 物件。
 void setString(int parameterIndex, String x)
          將指定參數設置為給定的 String 值。
 void setString(String parameterName, String x)
          將指定參數設置為給定的 Java String 值。
 void setTime(int parameterIndex, Time x)
          將指定參數設置為給定的 java.sql.Time 值。
 void setTime(int parameterIndex, Time x, Calendar cal)
          將指定參數設置為給定的 java.sql.Time 物件。
 void setTime(String parameterName, Time x)
          將指定參數設置為給定的 java.sql.Time 值。
 void setTime(String parameterName, Time x, Calendar cal)
          使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Time 值。
 void setTimestamp(int parameterIndex, Timestamp x)
          將指定參數設置為給定的 java.sql.Timestamp 值。
 void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
          將指定參數設置為給定的 java.sql.Timestamp 物件。
 void setTimestamp(String parameterName, Timestamp x)
          將指定參數設置為給定的 java.sql.Timestamp 值。
 void setTimestamp(String parameterName, Timestamp x, Calendar cal)
          使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Timestamp 值。
 void setTransactionIsolation(int level)
          將此 JDBC RowSet 物件的事務隔離屬性設置為給定的常數。
 void setType(int type)
          將此 RowSet 物件的型別設置為指定型別。
 void setTypeMap(Map<String,Class<?>> map)
          將給定的 java.util.Map 物件安裝為與此 RowSet 物件的 Connection 物件關聯的型別映射表。
 void setUnicodeStream(int parameterIndex, InputStream x, int length)
          已過時。 應該使用 getCharacterStream 替代它
 void setURL(int parameterIndex, URL x)
          將指定參數設置為給定的 java.net.URL 值。
 void setUrl(String url)
          將此 RowSet 物件的 Url 屬性設置為給定的 String 物件,並將 dataSource 名稱屬性設置為 null
 void setUsername(String name)
          將此 RowSet 物件的 username 屬性設置為給定的使用者名。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

UNICODE_STREAM_PARAM

public static final int UNICODE_STREAM_PARAM
該常數向 RowSetReaderImpl 物件指示給定的參數是一個 Unicode 串流。此 RowSetReaderImpl 物件作為 SyncProvider 抽象類別的擴展來提供,該抽象類別在 SyncFactory 靜態處理器 SPI 機制中定義。

另請參見:
常數欄位值

BINARY_STREAM_PARAM

public static final int BINARY_STREAM_PARAM
該常數向 RowSetReaderImpl 物件指示給定的參數是一個二進制串流。此 RowSetReaderImpl 物件作為 SyncProvider 抽象類別的擴展來提供,該抽象類別在 SyncFactory 靜態處理器 SPI 機制中定義。

另請參見:
常數欄位值

ASCII_STREAM_PARAM

public static final int ASCII_STREAM_PARAM
該常數向 RowSetReaderImpl 物件指示給定的參數是一個 ASCII 串流。此 RowSetReaderImpl 物件作為 SyncProvider 抽象類別的擴展來提供,該抽象類別在 SyncFactory 靜態處理器 SPI 機制中定義。

另請參見:
常數欄位值

binaryStream

protected InputStream binaryStream
將由方法 getBinaryStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。


unicodeStream

protected InputStream unicodeStream
將由方法 getUnicodeStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。


asciiStream

protected InputStream asciiStream
將由方法 getAsciiStream 返回的 InputStream 物件,該方法在 ResultSet 介面中指定。


charStream

protected Reader charStream
將由方法 getCharacterStream 返回的 Reader 物件,該方法在 ResultSet 介面中指定。

建構子詳細資訊

BaseRowSet

public BaseRowSet()
建構一個新的 BaseRowSet 物件,使用預設的 Vector 物件初始化其 listeners 欄位。初始化時使用的其他預設值列在此類別類別註釋的 6.0 部分。

方法詳細資訊

initParams

protected void initParams()
執行必需的內部配置和初始化,從而允許所有 JDBC RowSet 實作開始使用 BaseRowSet 實例提供的標準設施。應該在實例化 RowSet 物件後再調用此方法,以正確地初始化所有參數。此方法永遠不應該由應用程序調用,而應從具有擴展此類別的 RowSet 實作的物件中調用。


addRowSetListener

public void addRowSetListener(RowSetListener listener)
只要在此 RowSet 物件上發生事件,就將通知該偵聽器。

為了準確地反映 RowSet 物件的當前狀態,偵聽器可能是一個需要更新的表或圖形。

:如果 RowSetListener 物件為 null,則此方法正常丟棄該 null 值,不向偵聽器集添加 null 參考。

:如果已經設置了偵聽器,則新的 RowSetListerner 實例將添加到已註冊接收此 RowSet 事件通知的偵聽器集合。

參數:
listener - 一個物件,它已經實作了 javax.sql.RowSetListener 介面並且希望在此 RowSet 物件上發生任何事件時得到通知;可以為 null。
另請參見:
removeRowSetListener(javax.sql.RowSetListener)

removeRowSetListener

public void removeRowSetListener(RowSetListener listener)
從此 RowSet 物件的偵聽器列表中移除指定的物件。如果給定的參數不是已註冊偵聽器,則此方法不執行任何操作。 :如果 RowSetListener 物件為 null,則此方法正常丟棄該 null 值。

參數:
listener - 位於此 RowSet 物件的偵聽器列表中的 RowSetListener 物件
另請參見:
addRowSetListener(javax.sql.RowSetListener)

notifyCursorMoved

protected void notifyCursorMoved()
                          throws SQLException
通知向此 RowSet 物件註冊的所有偵聽器其鼠標已移動。

當應用程序調用某個方法移動鼠標時,該方法移動鼠標,然後內部調用此方法。應用程序永遠不應該直接調用此方法。

拋出:
SQLException - 如果擴展 BaseRowSet 抽象類別的類別未實作 RowSet 介面或其某個子介面。

notifyRowChanged

protected void notifyRowChanged()
                         throws SQLException
通知向此 RowSet 物件註冊的所有偵聽器其行已更改。

當應用程序調用更改某行的方法時,如 CachedRowSet 方法 insertRowupdateRowdeleteRow,該方法內部調用 notifyRowChanged。應用程序永遠不應該直接調用此方法。

拋出:
SQLException - 如果擴展 BaseRowSet 抽象類別的類別未實作 RowSet 介面或其某個子介面。

notifyRowSetChanged

protected void notifyRowSetChanged()
                            throws SQLException
通知向此 RowSet 物件註冊的所有偵聽器其整個內容已更改。

當應用程序調用更改 RowSet 物件整個內容的方法時,如 CachedRowSet 方法 executepopulaterestoreOriginalrelease,該方法內部調用(直接或間接)notifyRowSetChanged。應用程序永遠不應該直接調用此方法。

拋出:
SQLException - 如果擴展 BaseRowSet 抽象類別的類別未實作 RowSet 介面或其某個子介面。

getCommand

public String getCommand()
獲取作為此 RowSet 物件的命令的 SQL 查詢。command 屬性包含為填充此 RowSet 物件所執行的查詢。

此方法返回的 SQL 查詢由 RowSet 方法使用,如 executepopulate,擴展了 BaseRowSet 抽象類別和實作了一個或多個標準 JSR-114 RowSet 介面的任何類別都可實作這些方法。

RowSet 物件的 reader 使用該命令獲得 ResultSet 物件。然後 reader 從 ResultSet 物件讀取資料並使用該資料填充此 RowSet 物件。

command 屬性的預設值為 null

返回:
String,它是此 RowSet 物件的 command 屬性的值;可以為 null
另請參見:
setCommand(java.lang.String)

setCommand

public void setCommand(String cmd)
                throws SQLException
將此 RowSet 物件的 command 屬性設置為給定的 String 物件,並清除為前一個命令設置的參數(如果有)。

如果 RowSet 物件從一個不支持 command 屬性的資料源獲得資料(如電子錶格或其他表格檔案),則不需要 command 屬性。因此,此屬性是可選的,可以為 null

參數:
cmd - 套件含 SQL 查詢的 String 物件,該查詢將被設置為此 RowSet 物件的 command 屬性;可以為 null 但不能是空字元串
拋出:
SQLException - 如果提供空字元串作為 command 值
另請參見:
getCommand()

getUrl

public String getUrl()
              throws SQLException
獲取此 RowSet 物件的 javax.sql.Reader 物件用來建立與關聯型資料庫連接(使用啟用 JDBC 技術的驅動程序)的 JDBC URL。

如果底層資料源是非 SQL 資料源(如電子錶格或 XML 資料源),則該 Url 屬性為 null

返回:
包含 JDBC URL 的 String 物件,該 URL 用來為此 RowSet 物件建立連接;如果未設置,則為 null(預設值)
拋出:
SQLException - 如果獲取 URL 值時發生錯誤
另請參見:
setUrl(java.lang.String)

setUrl

public void setUrl(String url)
            throws SQLException
將此 RowSet 物件的 Url 屬性設置為給定的 String 物件,並將 dataSource 名稱屬性設置為 null。Url 屬性是使用啟用 JDBC 技術的驅動程序(“JDBC 驅動程序”)和 DriverManager 建立連接時所使用的 JDBC URL。在驅動程序文檔中可以找到特定驅動程序要使用的恰當 JDBC URL。雖然對如何形成 JDBC URL 有很多指導方針,但驅動程序供應商可以指定除長度為 0(空字元串)以外的任何 String 物件。

如果使用 DataSource 物件而不是 DriverManager 建立連接,則設置 Url 屬性是可選的。驅動程序將使用最近一次指定的 URL 屬性或 dataSourceName 屬性來創建連接。如果應用程序使用 JDBC URL,則必須在使用 RowSet 物件連接到資料庫之前載入可接受 JDBC URL 的 JDBC 驅動程序。為了讀取或寫入資料,RowSet 物件將內部使用該 URL 創建資料庫連接。

參數:
url - 一個 String 物件,包含為此 RowSet 物件建立到資料庫的連接時所使用的 JDBC URL;可以為 null 但不得為空字元串
拋出:
SQLException - 如果設置 Url 屬性時發生錯誤,或者提供的參數是長度為 0 的字元串(空字元串)
另請參見:
getUrl()

getDataSourceName

public String getDataSourceName()
返回向使用 Java Naming and Directory Interface (JNDI) API 的命名服務所提供的邏輯名,這將獲得 javax.sql.DataSource 物件。可使用此 DataSource 物件建立到它所表示的資料源的連接。

使用者應該設置 url 或資料源名稱屬性。驅動程序將使用最近一次設置的屬性來建立連接。

返回:
一個 String 物件,標識建立連接所使用的 DataSource 物件;如果尚未設置邏輯名,則返回 null
另請參見:
setDataSourceName(java.lang.String)

setDataSourceName

public void setDataSourceName(String name)
                       throws SQLException
將此 RowSet 物件的 DataSource 名稱屬性設置為給定的邏輯名,並將此 RowSet 物件的 Url 屬性設置為 null。該名稱必須已綁定到 JNDI 命名服務中的 DataSource 物件,這樣應用程序才可以使用該名稱執行尋找,以獲取綁定到該名稱的 DataSource 物件。然後可使用此 DataSource 物件建立到它所表示的資料源的連接。

使用者應該設置 Url 屬性或 dataSourceName 屬性。如果同時設置了兩個屬性,則驅動程序將使用最近一次設置的屬性。

參數:
name - 一個 String 物件,它所帶的名稱可提供給基於 JNDI 技術的命名服務,以獲取可用於建立連接的 DataSource 物件;可以為 null 但不得為空字元串
拋出:
SQLException - 如果提供空字元串作為 DataSource 名稱
另請參見:
zhang

getUsername

public String getUsername()
返回用於創建資料庫連接的使用者名。因為 username 屬性不是序列化的,所以在調用方法 execute 之前在運行時設置該屬性。

返回:
String 物件,包含為創建連接而提供給資料源的使用者名;如果未設置,則為 null(預設值)
另請參見:
setUsername(java.lang.String)

setUsername

public void setUsername(String name)
將此 RowSet 物件的 username 屬性設置為給定的使用者名。因為 username 屬性不是序列化的,所以在調用方法 execute 之前在運行時設置該屬性。

參數:
name - String 物件,包含為創建連接而提供給資料源的使用者名。可以為 null。
另請參見:
getUsername()

getPassword

public String getPassword()
返回用於創建此 RowSet 物件的資料庫連接的密碼。因為 password 屬性不是序列化的,所以在調用方法 execute 之前在運行時設置該屬性。預設值為 null

返回:
String 物件,表示為創建連接而必須提供給資料庫的密碼
另請參見:
setPassword(java.lang.String)

setPassword

public void setPassword(String pass)
將用於創建此 RowSet 物件的資料庫連接的密碼設置為給定的 String 物件。因為 password 屬性不是序列化的,所以在調用方法 execute 之前在運行時設置該屬性。

參數:
pass - String 物件,表示為創建連接而提供給資料庫的密碼。可以為 null。
另請參見:
getPassword()

setType

public void setType(int type)
             throws SQLException
將此 RowSet 物件的型別設置為指定型別。預設型別是 ResultSet.TYPE_SCROLL_INSENSITIVE

參數:
type - 以下常數之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
拋出:
SQLException - 如果提供的參數不是以下常數之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
另請參見:
getConcurrency(), getType()

getType

public int getType()
            throws SQLException
返回此 RowSet 物件的型別。型別是由創建 RowSet 物件的語句最初確定的。RowSet 物件可在任何時間調用方法 setType 來更改其型別。預設值是 TYPE_SCROLL_INSENSITIVE

返回:
此 JDBC RowSet 物件的型別,必須是以下值之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
拋出:
SQLException - 如果獲得此 RowSet 物件的型別時發生錯誤
另請參見:
setType(int)

setConcurrency

public void setConcurrency(int concurrency)
                    throws SQLException
將此 RowSet 物件的共時性設置為指定的共時性。所有 RowSet 物件(連接或非連接的)的預設共時性是 ResultSet.CONCUR_UPDATABLE,但是可在任何時間調用此方法來更改該共時性。

參數:
concurrency - 以下常數之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
拋出:
SQLException - 如果提供的參數不是以下常數之一:ResultSet.CONCUR_UPDATABLEResultSet.CONCUR_READ_ONLY
另請參見:
getConcurrency(), isReadOnly()

isReadOnly

public boolean isReadOnly()
返回一個指示此 RowSet 物件是否為只讀的 boolean 值。任何試圖更新只讀 RowSet 物件將導致拋出 SQLException。預設情況下,如果可以進行更新,則 rowset 是可更新的。

返回:
如果不能更新此 RowSet 物件,則返回 true;否則返回 false
另請參見:
setConcurrency(int), setReadOnly(boolean)

setReadOnly

public void setReadOnly(boolean value)
將此 RowSet 物件的 readOnly 屬性設置為給定的 boolean 值。

參數:
value - 為 true 指示此 RowSet 物件是只讀的;為 false 指示該物件是可更新的

getTransactionIsolation

public int getTransactionIsolation()
返回此 RowSet 物件連接的事務隔離屬性。此屬性表示在事務中請求使用的事務隔離級別。

對於某些 RowSet 實作,如在非連接環境中操作的 CachedRowSetSyncProvider 物件提供了互補的鎖定和資料完整性選項。以下描述的選項僅與連接的 RowSet 物件(JdbcRowSet 物件)有關。

返回:
以下常數之一:Connection.TRANSACTION_NONEConnection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLE
另請參見:
SyncFactory, SyncProvider, setTransactionIsolation(int)

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws SQLException
將此 JDBC RowSet 物件的事務隔離屬性設置為給定的常數。如果可以,DBMS 將為事務使用此事務隔離級別。

對於某些 RowSet 實作,如在非連接環境中操作的 CachedRowSet,所用的 SyncProvider 物件提供了互補的鎖定和資料完整性選項。以下描述的選項僅與連接的 RowSet 物件(JdbcRowSet 物件)有關。

參數:
level - 以下常數之一,按升序列出:Connection.TRANSACTION_NONEConnection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLE
拋出:
SQLException - 如果給定的參數不是 Connection 常數之一
另請參見:
SyncFactory, SyncProvider, getTransactionIsolation()

getTypeMap

public Map<String,Class<?>> getTypeMap()
獲取與此 RowSet 物件的 Connection 物件關聯的型別映射表。

支持 JDBC 3.0 API 的驅動程序將創建具有關聯型別映射表的 Connection 物件。此型別映射表(初始為空)可以包含一個或多個完全限定的 SQL 名,以及指示命名 SQL 值所要映射的類別的 Class 物件。當沒有其他型別映射取代自定義型別映射時,在連接的型別映射表中指定的型別映射將用做自定義型別映射。

如果向可以執行自定義映射的方法顯式提供型別映射表,則該型別映射表將取代連接的型別映射表。

返回:
java.util.Map 物件,它是此 RowSet 物件連接的型別映射表

setTypeMap

public void setTypeMap(Map<String,Class<?>> map)
將給定的 java.util.Map 物件安裝為與此 RowSet 物件的 Connection 物件關聯的型別映射表。如果為方法顯式提供了不同的型別映射表,則使用提供的型別映射表,否則將使用此型別映射表中所指示的自定義映射。

參數:
map - 一個 java.util.Map 物件,包含使用者定義型別 (UDT) 的 SQL 型別名稱到 Java 程式語言中類別的映射。Map 物件中每一項都由 UDT 的完全限定 SQL 名稱和用於該 UDT 的 SQLData 實作的 Class 物件組成。可以為 null

getMaxFieldSize

public int getMaxFieldSize()
                    throws SQLException
獲取可用於此 RowSet 物件列值的最大位元組數。此限制僅適用於包含以下型別值的列:BINARYVARBINARYLONGVARBINARYCHARVARCHARLONGVARCHAR。如果超過了該限制,則正常丟棄多出的資料。

返回:
指示當前最大列大小限制的 int 值;0 表示沒有限制
拋出:
SQLException - 如果確定列大小的最大限制時內部發生錯誤

setMaxFieldSize

public void setMaxFieldSize(int max)
                     throws SQLException
將可用於此 RowSet 物件列值的最大位元組數設置為給定數。此限制僅適用於包含以下型別值的列:BINARYVARBINARYLONGVARBINARYCHARVARCHARLONGVARCHAR。如果超過了該限制,則正常丟棄多出的資料。為了獲得最大的可移植性,建議使用大於 256 的值。

參數:
max - 指示新的最大列大小限制的 int 值;0 表示沒有限制
拋出:
SQLException - 如果 (1) 設置最大列大小限制時內部發生錯誤 (2) 設置的大小小於 0

getMaxRows

public int getMaxRows()
               throws SQLException
獲取此 RowSet 物件可以包含的最大行數。如果超過了此限制,則正常撤消多出的行。

返回:
指示當前最大行數的 int 值;0 表示沒有限制
拋出:
SQLException - 如果確定 Rowset 物件可以包含的最大行數限制時內部發生錯誤

setMaxRows

public void setMaxRows(int max)
                throws SQLException
將此 RowSet 物件可以包含的最大行數設置為給定數。如果超過了此限制,則正常撤消多出的行。

參數:
max - 指示當前最大行數的 int 值;0 表示沒有限制
拋出:
SQLException - 如果設置 JDBC RowSet 物件可以包含的最大行數限制時內部發生錯誤;如果 max 小於 0;如果 max 小於 RowSetfetchSize

setEscapeProcessing

public void setEscapeProcessing(boolean enable)
                         throws SQLException
設置為給定的 boolean 值,指示將 SQL 語句發送到資料庫之前,驅動程序是否掃瞄轉義語法並進行轉義替換。預設值是驅動程序執行轉義處理。

註:因為 PreparedStatement 物件通常在調用此方法之前解析,所以對準備的語句禁用轉義處理無效。

參數:
enable - 為 true 表示啟用轉義處理;為 false 表示禁用該處理
拋出:
SQLException - 如果設置底層啟用 JDBC 技術的驅動程序處理轉義語法時發生錯誤

getQueryTimeout

public int getQueryTimeout()
                    throws SQLException
獲取驅動程序等待查詢執行的最大秒數。如果超過該限制,則拋出 SQLException

返回:
當前的查詢逾時限制,以秒為單位;0 表示沒有限制
拋出:
SQLException - 如果確定查詢逾時值時發生錯誤

setQueryTimeout

public void setQueryTimeout(int seconds)
                     throws SQLException
將驅動程序等待查詢執行的最大秒數設置為給定的數。如果超過該限制,則拋出 SQLException

參數:
seconds - 新的查詢逾時限制,以秒為單位;0 表示沒有限制;不得小於 0
拋出:
SQLException - 如果設置查詢逾時值時發生錯誤,如果查詢逾時值小於 0

getShowDeleted

public boolean getShowDeleted()
                       throws SQLException
獲取一個 boolean 值,該值指示標記為刪除的行是否會出現在當前行集合中。預設值為 false

註:允許保持已刪除行可見會使某些方法的行為變得複雜。但是,多數 RowSet 物件的使用者可以簡單地忽略此額外細節,因為只有極其特殊的應用程序才會利用此功能。

返回:
如果已刪除行是可見的,則返回 true;否則返回 false
拋出:
SQLException - 如果確定已刪除行是否可見時發生錯誤
另請參見:
setShowDeleted(boolean)

setShowDeleted

public void setShowDeleted(boolean value)
                    throws SQLException
將屬性 showDeleted 設置為給定的 boolean 值,該值指示標記為刪除的行是否會出現在當前行集合中。

參數:
value - 如果已刪除行是可見的,則為 true;否則為 false
拋出:
SQLException - 如果設置已刪除行是否可見時發生錯誤
另請參見:
getShowDeleted()

getEscapeProcessing

public boolean getEscapeProcessing()
                            throws SQLException
確定是否為此 RowSet 物件啟用了轉義處理。

返回:
如果開啟了轉義處理,則返回 true;否則返回 false
拋出:
SQLException - 如果在確定是否啟用轉義處理時發生錯誤,或者尚未啟用內部轉義處理觸發器

setFetchDirection

public void setFetchDirection(int direction)
                       throws SQLException
為驅動程序提供一個性能提示,該提示指示處理此 RowSet 物件中各行時使用的方向。驅動程序可以忽略此提示。

RowSet 物件繼承它從中獲取資料的 ResultSet 物件的預設屬性。該 ResultSet 物件的預設獲取方向由創建它的 Statement 物件設置。

僅在 RowSet 物件已使用 JDBC 驅動程序連接到資料庫時,此方法才適用。

RowSet 物件可在任何時間使用此方法來更改其有關獲取方向的設置。

參數:
direction - ResultSet.FETCH_FORWARDResultSet.FETCH_REVERSEResultSet.FETCH_UNKNOWN 之一
拋出:
SQLException - 如果 (1) RowSet 型別是 TYPE_FORWARD_ONLY 並且給定的獲取方向不是 FETCH_FORWARD (2) 給定的獲取方向不是以下值之一:ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE 或 ResultSet.FETCH_UNKNOWN
另請參見:
getFetchDirection()

getFetchDirection

public int getFetchDirection()
                      throws SQLException
獲取此 RowSet 物件的當前有關獲取方向的設置。預設型別是 ResultSet.FETCH_FORWARD

返回:
ResultSet.FETCH_FORWARDResultSet.FETCH_REVERSEResultSet.FETCH_UNKNOWN 之一
拋出:
SQLException - 如果確定獲取行的當前獲取方向時發生錯誤
另請參見:
setFetchDirection(int)

setFetchSize

public void setFetchSize(int rows)
                  throws SQLException
將此 RowSet 物件的獲取大小設置為給定的行數。獲取大小為啟用 JDBC 技術的驅動程序(“JDBC 驅動程序”)提供了一個提示,該提示指示此 RowSet 物件還需要行時應該從資料庫獲取的行數。如果指定的獲取大小為 0,則驅動程序忽略該值,隨意對獲取大小作出它自己的最佳猜測。

RowSet 物件繼承它從中獲取資料的 ResultSet 物件的預設屬性。該 ResultSet 物件的預設獲取大小由創建它的 Statement 物件設置。

僅在 RowSet 物件已使用 JDBC 驅動程序連接到資料庫時,此方法才適用。對於連接的 RowSet 實作(如 JdbcRowSet),此方法對底層 JDBC 驅動程序直接並立即產生影響。

RowSet 物件可在任何時間使用此方法來更改其有關獲取大小的設置。

對於某些 RowSet 實作,如在非連接環境中操作的 CachedRowSet,正在使用的 SyncProvider 物件可以利用獲取大小來輪詢資料源、獲取不超過該獲取大小的多個行,以及獲取可以形成原始查詢所返回的實際行子集的多個行。這種實作的變化由非連接 RowSet 物件所使用的具體 SyncProvider 物件確定。

參數:
rows - 要獲取的行數;0 讓驅動程序決定最佳的獲取大小;不得小於 0 或大於此 RowSet 物件允許的最大行數(調用方法 getMaxRows() 返回的數目)
拋出:
SQLException - 如果指定的獲取大小小於 0 或大於最大行數限制
另請參見:
getFetchSize()

getFetchSize

public int getFetchSize()
                 throws SQLException
返回此 RowSet 物件的獲取大小。預設值為 0。

返回:
當此 RowSet 物件還需要從資料庫獲取行時,建議作為獲取大小的行數
拋出:
SQLException - 如果確定當前獲取大小中的行數時發生錯誤
另請參見:
setFetchSize(int)

getConcurrency

public int getConcurrency()
                   throws SQLException
返回此 RowSet 物件的共時性。對於連接和非連接 RowSet 物件而言,預設值都是 CONCUR_UPDATABLE

應用程序可以在任何時間調用方法 setConcurrency 來更改 RowSet 物件的共時性。

返回:
RowSet 物件的共時性型別,必須是以下值之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
拋出:
SQLException - 如果獲得此 RowSet 物件的共時性時發生錯誤
另請參見:
setConcurrency(int), isReadOnly()

setNull

public void setNull(int parameterIndex,
                    int sqlType)
             throws SQLException
將指定參數設置為 SQL NULL。注意,必須使用 java.sql.Types 中定義的某個型別程式碼指定參數的 SQL 型別。在第二個參數中指定此 SQL 型別。

注意,第二個參數告知 DBMS 值的資料型別被設置為 NULL。某些 DBMS 需要此資訊,所以為了使程式碼更容易移植,此資訊是必需的。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setNull 後再調用方法 getParams 將返回一個 Object 陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素為 null。第二個元素是為 sqlType 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果將第二個佔位符參數設置為 null,則包含該值的陣列是 getParams 返回的陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
sqlType - 一個 int 值,是類別 Types 中定義的 SQL 型別程式碼之一。如果提供了非標準的 sqlType,則此方法不會拋出 SQLException。這隱含著對非標準 SQL 型別的支持。
拋出:
SQLException - 如果發生資料庫存取錯誤或者給定的參數索引超出範圍
另請參見:
getParams()

setNull

public void setNull(int parameterIndex,
                    int sqlType,
                    String typeName)
             throws SQLException
將指定參數設置為 SQL NULL。 雖然這種形式的 setNull 方法用於使用者定義的參數和 REF 參數,但是也可使用此方法設置任意 JDBC 型別的 null 參數。以下是使用者定義的型別:STRUCTDISTINCTJAVA_OBJECT 和指定陣列型別。

註:為了便於移植,在指定 NULL 使用者定義參數或 REF 參數時,應用程序必須提供 SQL 型別程式碼和完全限定的 SQL 型別名稱。在使用者定義型別的情況下,名稱是參數本身的型別名稱。對於 REF 參數,名稱是所參考型別的型別名稱。如果啟用 JDBC 技術的驅動程序不需要型別程式碼和型別名稱資訊,那麼它可以忽略這些資訊。

如果該參數沒有使用者定義的型別或 REF 型別,則忽略給定的 typeName 參數。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setNull 後再調用方法 getParams 將返回一個 Object 陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素為 null。第二個元素是為 sqlType 設置的值,第三個元素是為 typeName 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果將第二個佔位符參數設置為 null,則包含該值的陣列是 getParams 返回的陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
sqlType - java.sql.Types 中的值
typeName - SQL 使用者定義型別的完全限定名,如果該參數不是使用者定義型別或 REF 值,則忽略該參數
拋出:
SQLException - 如果發生錯誤或者給定的參數索引超出範圍
另請參見:
getParams()

setBoolean

public void setBoolean(int parameterIndex,
                       boolean x)
                throws SQLException
將指定參數設置為 Java 程式語言中的給定 boolean 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL BIT 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setByte

public void setByte(int parameterIndex,
                    byte x)
             throws SQLException
將指定參數設置為 Java 程式語言中的給定 byte 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL TINYINT 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setShort

public void setShort(int parameterIndex,
                     short x)
              throws SQLException
將指定參數設置為 Java 程式語言中的給定 short 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL SMALLINT 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setInt

public void setInt(int parameterIndex,
                   int x)
            throws SQLException
將指定參數設置為 Java 程式語言中的 int 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL INTEGER 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setLong

public void setLong(int parameterIndex,
                    long x)
             throws SQLException
將指定參數設置為 Java 程式語言中的給定 long 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL BIGINT 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setFloat

public void setFloat(int parameterIndex,
                     float x)
              throws SQLException
將指定參數設置為 Java 程式語言中的給定 float 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL FLOAT 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setDouble

public void setDouble(int parameterIndex,
                      double x)
               throws SQLException
將指定參數設置為 Java 程式語言中的給定 double 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL DOUBLE 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setBigDecimal

public void setBigDecimal(int parameterIndex,
                          BigDecimal x)
                   throws SQLException
將指定參數設置為給定的 java.lang.BigDecimal 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL NUMERIC 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setString

public void setString(int parameterIndex,
                      String x)
               throws SQLException
將指定參數設置為給定的 String 值。在將此值發送給資料庫時,驅動程序將它轉換成一個 SQL VARCHARLONGVARCHAR 值(取決於該參數相對於驅動程序在 VARCHAR 值上的限制的相對大小)。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setBytes

public void setBytes(int parameterIndex,
                     byte[] x)
              throws SQLException
將指定參數設置為給定的 byte 陣列。在將此值發送給資料庫時,驅動程序將它轉換成一個 SQL VARBINARYLONGVARBINARY 值(取決於該參數相對於驅動程序在 VARBINARY 值上的限制的相對大小)。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setDate

public void setDate(int parameterIndex,
                    Date x)
             throws SQLException
將指定參數設置為給定的 java.sql.Date 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL DATE 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setDate 後再調用方法 getParams 將返回一個陣列,其中要為佔位符參數編號 parameterIndex 設置的值是作為第二個參數提供的 Date 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 參數值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setTime

public void setTime(int parameterIndex,
                    Time x)
             throws SQLException
將指定參數設置為給定的 java.sql.Time 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL TIME 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setTime 方法後再調用方法 getParams 將返回一個已經設置的參數所組成的陣列。要為參數佔位符編號 parameterIndex 進行設置的參數是設置為此方法第二個參數的 Time 物件。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 一個 java.sql.Time 物件,將設置為佔位符參數 parameterIndex 的值
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setTimestamp

public void setTimestamp(int parameterIndex,
                         Timestamp x)
                  throws SQLException
將指定參數設置為給定的 java.sql.Timestamp 值。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL TIMESTAMP 值。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setTimestamp 後再調用方法 getParams 將返回一個陣列,其中佔位符參數編號 parameterIndex 的值是作為此方法第二個參數提供的 Timestamp 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 一個 java.sql.Timestamp 物件
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setAsciiStream

public void setAsciiStream(int parameterIndex,
                           InputStream x,
                           int length)
                    throws SQLException
將指定參數設置為給定的 java.io.InputStream 物件,該物件將具有指定的位元組數。將讀取該串流的內容共時送到資料庫。如果讀取共時送到資料庫的位元組數不等於 length,則此方法拋出 SQLException 物件。

在將一個非常大的 ASCII 值輸入到 LONGVARCHAR 參數時,通過 java.io.InputStream 物件將它發送給參數可能更實際一些。在到達檔案末尾之前,啟用 JDBC 技術的驅動程序將根據需要從該串流讀取資料。驅動程序將執行從 ASCII 到資料庫 CHAR 格式的任何必要轉換。

註:此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用 setAsciiStream 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.io.InputStream 物件。第二個元素是為 length 設置的值。第三個元素是內部 BaseRowSet 常數,指示傳遞到此方法的串流是一個 ASCII 串流。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的輸入串流是第二個佔位符參數的值,則包含該值的陣列將是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含 ASCII 參數值的 Java 輸入串流
length - 串流中的位元組數。這是驅動程序要發送到 DBMS 的位元組數;長度為 0 或小於 0 是未定義的,但會導致在底層 JDBC 驅動程序中拋出無效長度異常。
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者當連接到資料源時,驅動程序讀取和發送到資料庫的位元組數不等於 length 中指定的位元組數
另請參見:
getParams()

setAsciiStream

public void setAsciiStream(int parameterIndex,
                           InputStream x)
                    throws SQLException
將此 RowSet 物件命令中的指定參數設置為給定輸入串流。在將一個非常大的 ASCII 值輸入到 LONGVARCHAR 參數時,通過 java.io.InputStream 發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 ASCII 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setAsciiStream 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
x - 套件含 ASCII 參數值的 Java 輸入串流
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBinaryStream

public void setBinaryStream(int parameterIndex,
                            InputStream x,
                            int length)
                     throws SQLException
將指定參數設置為給定的 java.io.InputStream 物件,該物件具有指定的位元組數。將讀取該串流的內容共時送到資料庫。如果讀取共時送到資料庫的位元組數不等於 length,則此方法拋出 SQLException 物件。

在將一個非常大的二進制值輸入到 LONGVARBINARY 參數時,通過 java.io.InputStream 物件發送它可能更為實際。在到達檔案末尾之前,啟用 JDBC 技術的驅動程序將根據需要從該串流讀取資料。

註:此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用 setBinaryStream 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.io.InputStream 物件。第二個元素是為 length 設置的值。第三個元素是內部 BaseRowSet 常數,指示傳遞到此方法的串流是一個二進制串流。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的輸入串流是第二個佔位符參數的值,則包含該值的陣列將是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含要設置的二進制值的輸入串流
length - 串流中的位元組數;長度為 0 或小於 0 是未定義的,但會導致在底層 JDBC 驅動程序中拋出無效長度異常。
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者當連接到資料源時,驅動程序讀取和發送到資料庫的位元組數不等於 length 中指定的位元組數
另請參見:
getParams()

setBinaryStream

public void setBinaryStream(int parameterIndex,
                            InputStream x)
                     throws SQLException
將此 RowSet 物件命令中的指定參數設置為給定輸入串流。在將一個非常大的二進制值輸入到 LONGVARBINARY 參數時,通過 java.io.InputStream 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setBinaryStream 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
x - 套件含二進制參數值的 java 輸入串流
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setUnicodeStream

public void setUnicodeStream(int parameterIndex,
                             InputStream x,
                             int length)
                      throws SQLException
已過時。 應該使用 getCharacterStream 替代它

將指定參數設置為給定的 java.io.InputStream 物件,該物件具有指定的位元組數。將讀取該串流的內容共時送到資料庫。如果讀取和發送到資料庫的位元組數不等於 length,則此方法拋出 SQLException

在將一個非常大的 Unicode 值輸入到 LONGVARCHAR 參數時,通過 java.io.InputStream 物件發送它可能更為實際。在到達檔案末尾之前,啟用 JDBC 技術的驅動程序將根據需要從該串流讀取資料。驅動程序將執行從 Unicode 到資料庫 CHAR 格式的任何必要轉換。Unicode 串流的位元組格式必須是 Java UTF-8,這在 Java 虛擬機器規範中定義。

註:此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

此方法已廢棄,應該使用 getCharacterStream 替代它。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。調用 setUnicodeStream 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.io.InputStream 物件。第二個元素是為 length 設置的值。第三個元素是內部 BaseRowSet 常數,指示傳遞到此方法的串流是一個 Unicode 串流。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的輸入串流是第二個佔位符參數的值,則包含該值的陣列將是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含 UNICODE 參數值的 java.io.InputStream 物件
length - 輸入串流中的位元組數
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者驅動程序讀取和發送到資料庫的位元組數不等於 length 中指定的位元組數
另請參見:
getParams()

setCharacterStream

public void setCharacterStream(int parameterIndex,
                               Reader reader,
                               int length)
                        throws SQLException
將指定參數設置為給定的 java.io.Reader 物件,該物件具有指定的字元數。將讀取該 reader 的內容共時送到資料庫。如果讀取和發送到資料庫的位元組數不等於 length,則此方法拋出 SQLException

在將一個非常大的 Unicode 值輸入到 LONGVARCHAR 參數時,通過 Reader 物件發送它可能更為實際。在到達檔案末尾之前,啟用 JDBC 技術的驅動程序將根據需要從該串流讀取資料。驅動程序將執行從 Unicode 到資料庫 CHAR 格式的任何必要轉換。Unicode 串流的位元組格式必須是 Java UTF-8,這在 Java 虛擬機器規範中定義。

註:此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用 setCharacterStream 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.io.Reader 物件。第二個元素是為 length 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的 reader 是第二個佔位符參數的值,則包含該值的陣列將是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
reader - 套件含 Unicode 資料的 Reader 物件
length - 串流中的字元數;長度為 0 或小於 0 是未定義的,但會導致在底層 JDBC 驅動程序中拋出無效長度異常。
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者當連接到資料源時,驅動程序讀取和發送到資料庫的位元組數不等於 length 中指定的位元組數
另請參見:
getParams()

setCharacterStream

public void setCharacterStream(int parameterIndex,
                               Reader reader)
                        throws SQLException
將此 RowSet 物件命令中的指定參數設置為給定的 Reader 物件。在將一個非常大的 UNICODE 值輸入到 LONGVARCHAR 參數時,通過 java.io.Reader 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 UNICODE 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setCharacterStream 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
reader - 套件含 Unicode 資料的 java.io.Reader 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setObject

public void setObject(int parameterIndex,
                      Object x,
                      int targetSqlType,
                      int scale)
               throws SQLException
將指定參數設置為 Java 程式語言中的 Object。第二個參數必須是 Object 型別。對於整數值,應該使用 java.lang 等效物件。例如,為 int 使用類別 Integer

將此物件發送到資料庫前,驅動程序將它轉換成指定的目標 SQL 型別。如果物件具有自定義映射(屬於實作 SQLData 的類別),則驅動程序應該調用 SQLData.writeSQL 方法將該物件寫入 SQL 資料串流中。另一方面,如果該物件是實作 RefBlobClobStructArray 的類別,則驅動程序應該將它作為相應 SQL 型別的值傳遞給資料庫。

注意,此方法可用於傳遞特定於資料庫的抽象資料型別。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。調用這種形式的 setObject 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 Object 實例。第二個元素是為 targetSqlType 設置的值。第三個元素是為 scale 設置的值,如果要設置的物件型別不是 java.sql.Types.NUMERICjava.sql.Types.DECIMAL,則驅動程序忽略該值。參數編號由方法 getParams 返回的陣列中的元素位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的物件是第二個佔位符參數的值,則包含該值的陣列是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含輸入參數值的 Object;必須是 Object 型別
targetSqlType - 要發送到資料庫的 SQL 型別(在 java.sql.Types 中定義)。scale 參數可以進一步限定此型別。如果提供了非標準的 targetSqlType,則此方法不會拋出 SQLException。這隱含著對非標準 SQL 型別的支持。
scale - 對於型別 java.sql.Types.DECIMALjava.sql.Types.NUMERIC,該值是小數點後的位數。對於所有其他型別,將忽略此值。
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setObject

public void setObject(int parameterIndex,
                      Object x,
                      int targetSqlType)
               throws SQLException
使用給定 Object 值設置指定參數的值。此方法類似於 setObject(int parameterIndex, Object x, int targetSqlType, int scale),不同之處在於它假定 scale 為 0。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setObject 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 Object 實例。第二個元素是為 targetSqlType 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的物件是第二個佔位符參數的值,則包含該值的陣列是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含輸入參數值的 Object;必須是 Object 型別
targetSqlType - 要發送到資料庫的 SQL 型別(在 java.sql.Types 中定義)。如果提供了非標準的 targetSqlType,則此方法不會拋出 SQLException。這隱含著對非標準 SQL 型別的支持。
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setObject

public void setObject(int parameterIndex,
                      Object x)
               throws SQLException
將指定參數設置為 Java 程式語言中的 Object。第二個參數必須是 Object 型別。對於整數值,應該使用 java.lang 等效物件。例如,為 int 使用類別 Integer

JDBC 規範定義了一個從 Java Object 型別到 SQL 型別的標準映射。在將給定的物件發送到資料庫之前,驅動程序使用此標準映射將其轉換為對應的 SQL 型別。如果物件具有自定義映射(屬於實作 SQLData 的類別),則驅動程序應該調用 SQLData.writeSQL 方法將該物件寫入 SQL 資料串流中。

另一方面,如果該物件是實作 RefBlobClobStructArray 的類別,則驅動程序應該將它作為相應 SQL 型別的值傳遞給資料庫。

如果出現混淆,例如如果該物件是實作多個介面的類別,則此方法拋出異常。

注意,此方法可用於傳遞特定於資料庫的抽象資料型別。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用此方法後再調用方法 getParams 將返回一個當前命令參數的 object 陣列,其中包括已為佔位符參數編號 parameterIndex 設置的 Object。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 套件含輸入參數值的物件
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者在要設置的物件實作方面存在混淆
另請參見:
getParams()

setRef

public void setRef(int parameterIndex,
                   Ref ref)
            throws SQLException
將指定參數設置為 Java 程式語言中的給定 Ref 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL REF 值。在內部,該 Ref 被表示成 SerialRef,以確保可序列化性。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用此方法後再調用方法 getParams 將返回一個當前命令參數的 object 陣列,其中包括已為佔位符參數編號 parameterIndex 設置的 Ref 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
ref - 表示 SQL REF 值的 Ref 物件;不能為 null
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者 Ref 物件為 null;或者 Ref 物件返回 null 基本型別名稱。
另請參見:
getParams(), SerialRef

setBlob

public void setBlob(int parameterIndex,
                    Blob x)
             throws SQLException
將指定參數設置為 Java 程式語言中的給定 Blob 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL BLOB 值。在內部,該 Blob 被表示成 SerialBlob,以確保可序列化性。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用此方法後再調用方法 getParams 將返回一個當前命令參數的 object 陣列,其中包括已為佔位符參數編號 parameterIndex 設置的 Blob 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 表示 SQL BLOB 值的 Blob 物件
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams(), SerialBlob

setClob

public void setClob(int parameterIndex,
                    Clob x)
             throws SQLException
將指定參數設置為 Java 程式語言中的給定 Clob 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL CLOB 值。在內部,該 Clob 被表示成 SerialClob,以確保可序列化性。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用此方法後再調用方法 getParams 將返回一個當前命令參數的 object 陣列,其中包括已為佔位符參數編號 parameterIndex 設置的 Clob 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 表示 SQL CLOB 值的 Clob 物件;不能為 null
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍,或者 Clob 為 null
另請參見:
getParams(), SerialBlob

setArray

public void setArray(int parameterIndex,
                     Array array)
              throws SQLException
將指定參數設置為 Java 程式語言中的 Array 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL ARRAY 值。在內部,該 Array 被表示成 SerialArray,以確保可序列化性。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用此方法後再調用方法 getParams 將返回一個當前命令參數的 object 陣列,其中包括已為佔位符參數編號 parameterIndex 設置的 Array 物件。注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是元素編號 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
array - 表示 SQL ARRAY 值的 Array 物件,不能為 null。傳遞到此方法的 Array 物件必須對所有調用的 getArray() 方法返回非 null 的 Object。null 值將導致拋出 SQLException
拋出:
SQLException - 如果發生錯誤、參數索引超出範圍或者 ARRAY 為 null
另請參見:
getParams(), SerialArray

setDate

public void setDate(int parameterIndex,
                    Date x,
                    Calendar cal)
             throws SQLException
將指定參數設置為給定的 java.sql.Date 物件。當 DBMS 不存儲時區資訊時,驅動程序將使用給定的 Calendar 物件建構要發送到資料庫的 SQL DATE 值。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算日期。如果沒有指定任何 Calendar 物件,則驅動程序使用運行應用程序的虛擬機器所在的時區。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setDate 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.sql.Date 物件。第二個元素是為 cal 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的 date 是第二個佔位符參數的值,則包含該值的陣列是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 表示 SQL DATE 值的 java.sql.Date 物件
cal - 建構日期時所使用的 java.util.Calendar 物件
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setTime

public void setTime(int parameterIndex,
                    Time x,
                    Calendar cal)
             throws SQLException
將指定參數設置為給定的 java.sql.Time 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL TIME 值。

當 DBMS 不存儲時區資訊時,驅動程序將使用給定的 Calendar 物件建構要發送到資料庫的 SQL TIME 值。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算日期。如果沒有指定任何 Calendar 物件,則驅動程序使用運行應用程序的虛擬機器所在的時區。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setTime 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.sql.Time 物件。第二個元素是為 cal 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的 time 是第二個佔位符參數的值,則包含該值的陣列是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 一個 java.sql.Time 物件
cal - 驅動程序可用來建構時間的 java.util.Calendar 物件
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

setTimestamp

public void setTimestamp(int parameterIndex,
                         Timestamp x,
                         Calendar cal)
                  throws SQLException
將指定參數設置為給定的 java.sql.Timestamp 物件。在將該物件發送到資料庫時,驅動程序將它轉換成一個 SQL TIMESTAMP 值。

當 DBMS 不存儲時區資訊時,驅動程序將使用給定的 Calendar 物件建構要發送到資料庫的 SQL TIMESTAMP 值。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算 timestamp。如果沒有指定任何 Calendar 物件,則驅動程序使用運行應用程序的虛擬機器所在的時區。

此方法設置的參數值是內部存儲的,當調用方法 execute 時,將該值作為此 RowSet 物件命令中的適當參數提供。必須在擴展此類別和實作了一個或多個標準 JSR-114 RowSet 介面的全部類別中提供 executepopulate 之類別的方法。

註:JdbcRowSet 不需要 populate 方法,因為它沒有在此類別中定義。

調用這種形式的 setTimestamp 後再調用方法 getParams 將返回一個陣列,其中包含已經設置的參數值。在該陣列中,表示使用此方法所設置的值的元素本身也是一個陣列。該陣列的第一個元素是給定的 java.sql.Timestamp 物件。第二個元素是為 cal 設置的值。參數編號由方法 getParams 返回的陣列中元素的位置指示,第一個元素是第一個佔位符參數的值,第二個元素是第二個佔位符參數的值,依此類別推。換句話說,如果正在設置的 timestamp 是第二個佔位符參數的值,則包含該值的陣列是 getParams 返回陣列中的第二個元素。

注意,因為陣列中的元素編號從 0 開始,所以對應於佔位符參數編號 parameterIndex 的陣列元素是 parameterIndex -1。

參數:
parameterIndex - 此 RowSet 物件命令中要設置的佔位符參數的序號。第一個參數是 1,第二個參數是 2,依此類別推;必須大於等於 1
x - 一個 java.sql.Timestamp 物件
cal - 驅動程序建構 timestamp 所使用的 java.util.Calendar 物件
拋出:
SQLException - 如果發生錯誤或者參數索引超出範圍
另請參見:
getParams()

clearParameters

public void clearParameters()
                     throws SQLException
清除所有此 RowSet 物件的內部參數表示形式的當前參數值,這些參數值將在執行此 RowSet 物件的命令時在其中設置這些參數。

通常參數值對此 RowSet 物件的重複使用仍然有效。使用設置方法設置參數值可自動清除指定參數的值,並用新的指定值替換該值。

此方法由 setCommand 方法內部調用,以清除前一條命令設置的所有參數。

另外,此方法與 initParams 方法的不同之處在於它保持 RowSet 物件的網要。

拋出:
SQLException - 如果清除參數時發生錯誤

getParams

public Object[] getParams()
                   throws SQLException
獲取一個陣列,其中包含為此 RowSet 物件命令設置的參數值(包括 Object 和基本型別),如果尚未設置任何參數,則拋出 SQLException 物件。將命令發送到 DBMS 執行前,這些參數將替換 PreparedStatement 物件中的佔位符參數,該物件是用於擴展了 BaseRowSet 類別的 RowSet 實作的命令。

返回陣列的每個元素都是一個 Object 實例,包含提供給設置方法的參數值。元素的順序由提供給 parameterIndex 的值確定。如果設置方法僅帶有參數索引和要設置的值(可能為 null),則陣列元素將包含要設置的值(以 Object 的形式表示)。如果還有附加參數,則陣列元素本身就是一個陣列,包含要設置的值和所有提供給設置方法的附加參數值。如果該方法設置一個串流,則陣列元素包括將提供給該方法的串流型別。這些附加參數供驅動程序或 DBMS 使用,可以使用這些參數,也可以不使用。

註:型別 ArrayBlobClobRef 的已存儲參數值分別以 SerialArraySerialBlobSerialClobSerialRef 的形式返回。

返回:
Object 實例所組成的陣列,包括在此 RowSet 物件的命令中所設置的參數值;如果尚未設置任何參數,則返回空陣列
拋出:
SQLException - 如果獲取此 RowSet 物件參數的物件陣列時發生錯誤,或者並非所有的參數都已經設置

setNull

public void setNull(String parameterName,
                    int sqlType)
             throws SQLException
將指定參數設置為 SQL NULL

註: 必須指定參數的 SQL 型別。

參數:
parameterName - 參數的名稱
sqlType - java.sql.Types 中定義的 SQL 型別程式碼
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

setNull

public void setNull(String parameterName,
                    int sqlType,
                    String typeName)
             throws SQLException
將指定參數設置為 SQL NULL。這種 setNull 方法應該用於使用者定義型別和 REF 型別參數。使用者定義型別的範例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定陣列型別。

註: 為了便於移植,在指定 NULL 使用者定義參數或 REF 參數時,應用程序必須提供 SQL 型別程式碼和完全限定的 SQL 型別名稱。對於使用者定義型別,名稱是參數本身的型別名稱。對於 REF 參數,名稱是所參考型別的型別名稱。 如果 JDBC 驅動程序不需要型別程式碼或型別名稱資訊,那麼它可以忽略這些資訊。 儘管此方法供使用者定義參數和 Ref 參數使用,但也可以使用它來設置任何 JDBC 型別的 null 參數。如果該參數不具有使用者定義型別或 REF 型別,則忽略給定 typeName。

參數:
parameterName - 參數的名稱
sqlType - 取自 java.sql.Types 的值
typeName - SQL 使用者定義型別的完全限定名稱;如果該參數不是使用者定義型別或 SQL REF 值,則忽略它
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

setBoolean

public void setBoolean(String parameterName,
                       boolean x)
                throws SQLException
將指定參數設置為給定的 Java boolean 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL BITBOOLEAN 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getBoolean

setByte

public void setByte(String parameterName,
                    byte x)
             throws SQLException
將指定參數設置為給定的 Java byte 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL TINYINT 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getByte

setShort

public void setShort(String parameterName,
                     short x)
              throws SQLException
將指定參數設置為給定的 Java short 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL SMALLINT 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getShort

setInt

public void setInt(String parameterName,
                   int x)
            throws SQLException
將指定參數設置為給定的 Java int 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL INTEGER 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getInt

setLong

public void setLong(String parameterName,
                    long x)
             throws SQLException
將指定參數設置為給定的 Java long 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL BIGINT 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getLong

setFloat

public void setFloat(String parameterName,
                     float x)
              throws SQLException
將指定參數設置為給定的 Java float 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL FLOAT 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getFloat

setDouble

public void setDouble(String parameterName,
                      double x)
               throws SQLException
將指定參數設置為給定的 Java double 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL DOUBLE 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getDouble

setBigDecimal

public void setBigDecimal(String parameterName,
                          BigDecimal x)
                   throws SQLException
將指定參數設置為給定的 java.math.BigDecimal 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL NUMERIC 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getBigDecimal

setString

public void setString(String parameterName,
                      String x)
               throws SQLException
將指定參數設置為給定的 Java String 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL VARCHARLONGVARCHAR 值(具體取決於該參數相對於驅動程序在 VARCHAR 值上的限制的大小)。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getString

setBytes

public void setBytes(String parameterName,
                     byte[] x)
              throws SQLException
將指定參數設置為給定的 Java byte 陣列。在將此值發送到資料庫時,驅動程序將其轉換為 SQL VARBINARYLONGVARBINARY 值(具體取決於該參數相對於驅動程序在 VARBINARY 值上的限制的大小)。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getBytes

setTimestamp

public void setTimestamp(String parameterName,
                         Timestamp x)
                  throws SQLException
將指定參數設置為給定的 java.sql.Timestamp 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL TIMESTAMP 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getTimestamp

setAsciiStream

public void setAsciiStream(String parameterName,
                           InputStream x,
                           int length)
                    throws SQLException
將指定參數設置為給定輸入串流,該輸入串流將擁有指定位元組數。在將一個非常大的 ASCII 值輸入到 LONGVARCHAR 參數時,通過 java.io.InputStream 發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 ASCII 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

參數:
parameterName - 參數的名稱
x - 套件含 ASCII 參數值的 Java 輸入串流
length - 串流中的位元組數
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

setBinaryStream

public void setBinaryStream(String parameterName,
                            InputStream x,
                            int length)
                     throws SQLException
將指定參數設置為給定的輸入串流,該輸入串流將擁有指定的位元組數。在將一個非常大的二進制值輸入到 LONGVARBINARY 參數時,通過 java.io.InputStream 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

參數:
parameterName - 參數的名稱
x - 套件含二進制參數值的 java 輸入串流
length - 串流中的位元組數
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

setCharacterStream

public void setCharacterStream(String parameterName,
                               Reader reader,
                               int length)
                        throws SQLException
將指定參數設置為給定的 Reader 物件,該物件是給定的字元長度數目。在將一個非常大的 UNICODE 值輸入到 LONGVARCHAR 參數時,通過 java.io.Reader 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 UNICODE 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

參數:
parameterName - 參數的名稱
reader - 套件含用作指定參數的 UNICODE 資料的 java.io.Reader 物件
length - 串流中的字元數
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

setAsciiStream

public void setAsciiStream(String parameterName,
                           InputStream x)
                    throws SQLException
將指定參數設置為給定的輸入串流。在將一個非常大的 ASCII 值輸入到 LONGVARCHAR 參數時,通過 java.io.InputStream 發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 ASCII 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setAsciiStream 是否更有效。

參數:
parameterName - 參數的名稱
x - 套件含 ASCII 參數值的 Java 輸入串流
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBinaryStream

public void setBinaryStream(String parameterName,
                            InputStream x)
                     throws SQLException
將指定參數設置為給定輸入串流。在將一個非常大的二進制值輸入到 LONGVARBINARY 參數時,通過 java.io.InputStream 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setBinaryStream 是否更有效。

參數:
parameterName - 參數的名稱
x - 套件含二進制參數值的 Java 輸入串流
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setCharacterStream

public void setCharacterStream(String parameterName,
                               Reader reader)
                        throws SQLException
將指定參數設置為給定 Reader 物件。在將一個非常大的 UNICODE 值輸入到 LONGVARCHAR 參數時,通過 java.io.Reader 物件發送它可能更為實際。將根據需要從串流中讀取資料,一直讀取到檔案末尾。JDBC 驅動程序將執行從 UNICODE 到資料庫 char 格式的任何必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setCharacterStream 是否更有效。

參數:
parameterName - 參數的名稱
reader - 套件含 Unicode 資料的 java.io.Reader 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setNCharacterStream

public void setNCharacterStream(int parameterIndex,
                                Reader value)
                         throws SQLException
將此 RowSet 物件命令中的指定參數設置為 Reader 物件。Reader 讀取資料,一直讀取到檔案末尾。驅動程序將執行從 Java 字元格式到資料庫中國家字元集 (national character set) 的必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setNCharacterStream 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤;如果在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setObject

public void setObject(String parameterName,
                      Object x,
                      int targetSqlType,
                      int scale)
               throws SQLException
使用給定物件設置指定參數的值。第二個參數必須是一個物件型別;對於整數值,應該使用 java.lang 的等效物件。

在發送到資料庫之前,給定 Java 物件將被轉換為給定的 targetSqlType。 如果物件具有自定義映射關係(屬於實作 SQLData 介面的類別),則 JDBC 驅動程序應該調用 SQLData.writeSQL 方法將它寫入 SQL 資料串流中。另一方面,如果物件是實作 RefBlobClobNClobStructjava.net.URLArray 的類別,則驅動程序應該將其作為相應 SQL 型別的值傳遞給資料庫。

注意,此方法可用於傳遞特定於資料庫的抽象資料型別。

參數:
parameterName - 參數的名稱
x - 套件含輸入參數值的物件
targetSqlType - 將發送給資料庫的 SQL 型別(在 java.sql.Types 中定義)。scale 參數可以進一步限定此型別。
scale - 對於 java.sql.Types.DECIMAL 或 java.sql.Types.NUMERIC 型別,該值是小數點後的位數。對於所有其他型別,將忽略此值。
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 targetSqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 資料型別並且 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.4
另請參見:
Types, #getObject

setObject

public void setObject(String parameterName,
                      Object x,
                      int targetSqlType)
               throws SQLException
使用給定物件設置指定參數的值。此方法類似於上面的 setObject 方法,不同之處在於它假定 scale 為 0。

參數:
parameterName - 參數的名稱
x - 套件含輸入參數值的物件
targetSqlType - 將發送給資料庫的 SQL 型別(在 java.sql.Types 中定義)
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 targetSqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 資料型別並且 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.4
另請參見:
#getObject

setObject

public void setObject(String parameterName,
                      Object x)
               throws SQLException
使用給定物件設置指定參數的值。第二個參數必須是 Object 型別;所以,應該對內置型別使用 java.lang 的等效物件。

JDBC 規範指定一個從 Java Object 型別到 SQL 型別的標準映射關係。在發送到資料庫之前,給定參數將被轉換為相應的 SQL 型別。

注意,通過使用特定於驅動程序的 Java 型別,此方法可用於傳遞特定於資料庫的抽象資料型別。 如果物件是實作 SQLData 介面的類別,則 JDBC 驅動程序應該調用 SQLData.writeSQL 方法將它寫入 SQL 資料串流中。另一方面,如果物件是實作 RefBlobClobNClobStructjava.net.URLArray 的類別,則驅動程序應該將其作為相應 SQL 型別的值傳遞給資料庫。

如果出現混淆,例如,此物件是實作多個上述指定介面的類別,則此方法拋出異常。

參數:
parameterName - 參數的名稱
x - 套件含輸入參數值的物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的 CallableStatement 上調用此方法或者給定 Object 參數不明確
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getObject

setBlob

public void setBlob(int parameterIndex,
                    InputStream inputStream,
                    long length)
             throws SQLException
將指定參數設置為 InputStream 物件。inputstream 必須包含 length 所指定的字元數,否則,在執行 PreparedStatement 時將產生 SQLException。此方法不同於 setBinaryStream (int, InputStream, int) 方法,因為它通知驅動程序參數值應該以 BLOB 的形式發送到伺服器。使用 setBinaryStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARBINARY 還是 BLOB 的形式發送到伺服器。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
inputStream - 套件含用來設置參數值的資料的物件。
length - 參數資料中的位元組數。
拋出:
SQLException - 如果發生資料庫存取錯誤;如果在關閉的 PreparedStatement 上調用此方法;如果 parameterIndex 不對應 SQL 語句中的參數標記;如果指定長度小於 0 或者 inputstream 中的位元組數不比對指定長度。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBlob

public void setBlob(int parameterIndex,
                    InputStream inputStream)
             throws SQLException
將指定參數設置為 InputStream 物件。此方法不同於 setBinaryStream (int, InputStream) 方法,因為它通知驅動程序參數值應該以 BLOB 的形式發送到伺服器。使用 setBinaryStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARBINARY 還是 BLOB 的形式發送到伺服器。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setBlob 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
inputStream - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的 PreparedStatement 上調用此方法或者 parameterIndex 不對應 SQL 語句中的參數標記
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBlob

public void setBlob(String parameterName,
                    InputStream inputStream,
                    long length)
             throws SQLException
將指定參數設置為 InputStream 物件。 inputstream 必須包含 length 所指定的字元數,否則,在執行 CallableStatement 時將產生 SQLException。此方法不同於 setBinaryStream (int, InputStream, int) 方法,因為它通知驅動程序參數值應該以 BLOB 的形式發送到伺服器。使用 setBinaryStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARBINARY 還是 BLOB 的形式發送到伺服器。

參數:
parameterName - 要設置的參數名稱
inputStream - 套件含用來設置參數值的資料的物件。
length - 參數資料中的位元組數。
拋出:
SQLException - 如果 parameterIndex 不對應 SQL 語句中的參數標記,或者指定長度小於 0;如果 inputstream 中的位元組數不比對指定長度;如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBlob

public void setBlob(String parameterName,
                    Blob x)
             throws SQLException
將指定參數設置為給定的 java.sql.Blob 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL BLOB 值。

參數:
parameterName - 參數的名稱
x - 映射 SQL BLOB 值的 Blob 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setBlob

public void setBlob(String parameterName,
                    InputStream inputStream)
             throws SQLException
將指定參數設置為 InputStream 物件。此方法不同於 setBinaryStream (int, InputStream) 方法,因為它通知驅動程序參數值應該以 BLOB 的形式發送到伺服器。使用 setBinaryStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARBINARY 還是 BLOB 的形式發送到伺服器。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setBlob 是否更有效。

參數:
parameterName - 參數的名稱
inputStream - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setClob

public void setClob(int parameterIndex,
                    Reader reader,
                    long length)
             throws SQLException
將指定參數設置為 Reader 物件。reader 必須包含 length 所指定的字元數,否則,在執行 PreparedStatement 時將產生 SQLException。此方法不同於 setCharacterStream (int, Reader, int) 方法,因為它通知驅動程序參數值應該以 CLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARCHAR 還是 CLOB 的形式發送到伺服器。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
reader - 套件含用來設置參數值的資料的物件。
length - 參數資料中的字元數。
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的 PreparedStatement 上調用此方法;如果 parameterIndex 不對應 SQL 語句中的參數標記,或者指定長度小於 0。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setClob

public void setClob(int parameterIndex,
                    Reader reader)
             throws SQLException
將指定參數設置為 Reader 物件。此方法不同於 setCharacterStream (int, Reader) 方法,因為它通知驅動程序參數值應該以 CLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARCHAR 還是 CLOB 的形式發送到伺服器。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setClob 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
reader - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的 PreparedStatement 上調用此方法或者 parameterIndex 不對應 SQL 語句中的參數標記
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setClob

public void setClob(String parameterName,
                    Reader reader,
                    long length)
             throws SQLException
將指定參數設置為 Reader 物件。reader 必須包含 length 所指定的字元數,否則,在執行 CallableStatement 時將產生 SQLException。此方法不同於 setCharacterStream (int, Reader, int) 方法,因為它通知驅動程序參數值應該以 CLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARCHAR 還是 CLOB 的形式發送到伺服器。

參數:
parameterName - 要設置的參數的名稱
reader - 套件含用來設置參數值的資料的物件。
length - 參數資料中的字元數。
拋出:
SQLException - 如果 parameterIndex 不對應 SQL 語句中的參數標記;如果指定長度小於 0;如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setClob

public void setClob(String parameterName,
                    Clob x)
             throws SQLException
將指定參數設置為給定的 java.sql.Clob 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL CLOB 值。

參數:
parameterName - 參數的名稱
x - 映射 SQL CLOB 值的 Clob 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setClob

public void setClob(String parameterName,
                    Reader reader)
             throws SQLException
將指定參數設置為 Reader 物件。此方法不同於 setCharacterStream (int, Reader) 方法,因為它通知驅動程序參數值應該以 CLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGVARCHAR 還是 CLOB 的形式發送到伺服器。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setClob 是否更有效。

參數:
parameterName - 參數的名稱
reader - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setDate

public void setDate(String parameterName,
                    Date x)
             throws SQLException
使用運行應用程序的虛擬機器所在的預設時區將指定參數設置為給定的 java.sql.Date 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL DATE 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getDate

setDate

public void setDate(String parameterName,
                    Date x,
                    Calendar cal)
             throws SQLException
使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Date 值。驅動程序使用 Calendar 物件建構一個 SQL DATE 值,該值隨後被驅動程序發送到資料庫。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算日期。如果沒有指定任何 Calendar 物件,則驅動程序使用預設時區,該時區是運行應用程序的虛擬機器所在的時區。

參數:
parameterName - 參數的名稱
x - 參數值
cal - 驅動程序將用來建構日期的 Calendar 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getDate

setTime

public void setTime(String parameterName,
                    Time x)
             throws SQLException
將指定參數設置為給定的 java.sql.Time 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL TIME 值。

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getTime

setTime

public void setTime(String parameterName,
                    Time x,
                    Calendar cal)
             throws SQLException
使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Time 值。驅動程序使用 Calendar 物件建構一個 SQL TIME 值,該值隨後被驅動程序發送到資料庫。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算時間。如果沒有指定任何 Calendar 物件,則驅動程序使用預設時區,該時區是運行應用程序的虛擬機器所在的時區。

參數:
parameterName - 參數的名稱
x - 參數值
cal - 驅動程序將用來建構時間的 Calendar 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getTime

setTimestamp

public void setTimestamp(String parameterName,
                         Timestamp x,
                         Calendar cal)
                  throws SQLException
使用給定 Calendar 物件將指定參數設置為給定的 java.sql.Timestamp 值。驅動程序使用 Calendar 物件建構一個 SQL TIMESTAMP 值,該值隨後被驅動程序發送到資料庫。利用 Calendar 物件,驅動程序可以在考慮自定義時區的情況下計算時間戳。如果沒有指定任何 Calendar 物件,則驅動程序使用預設時區,該時區是運行應用程序的虛擬機器所在的時區。

參數:
parameterName - 參數的名稱
x - 參數值
cal - 驅動程序將用來建構時間戳的 Calendar 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
#getTimestamp

setSQLXML

public void setSQLXML(int parameterIndex,
                      SQLXML xmlObject)
               throws SQLException
將指定參數設置為給定 java.sql.SQLXML 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL XML 值。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
xmlObject - 映射 SQL XML 值的 SQLXML 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的結果集上調用此方法,沒有為 SQLXML 物件關閉 java.xml.transform.ResultWriterOutputStream,或者在處理 XML 值時發生錯誤。異常的 getCause 方法可以提供更詳細的異常,例如,如果該串流不包含有效的 XML。
從以下版本開始:
1.6

setSQLXML

public void setSQLXML(String parameterName,
                      SQLXML xmlObject)
               throws SQLException
將指定參數設置為給定的 java.sql.SQLXML 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL XML 值。

參數:
parameterName - 參數的名稱
xmlObject - 映射 SQL XML 值的 SQLXML 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的結果集上調用此方法,沒有為 SQLXML 物件關閉 java.xml.transform.ResultWriterOutputStream,或者在處理 XML 值時發生錯誤。異常的 getCause 方法可以提供更詳細的異常,例如,如果該串流不包含有效的 XML。
從以下版本開始:
1.6

setRowId

public void setRowId(int parameterIndex,
                     RowId x)
              throws SQLException
將指定參數設置為給定的 java.sql.RowId 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL ROWID 值。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤
從以下版本開始:
1.6

setRowId

public void setRowId(String parameterName,
                     RowId x)
              throws SQLException
將指定參數設置為給定的 java.sql.RowId 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL ROWID

參數:
parameterName - 參數的名稱
x - 參數值
拋出:
SQLException - 如果發生資料庫存取錯誤
從以下版本開始:
1.6

setNString

public void setNString(int parameterIndex,
                       String value)
                throws SQLException
將指定參數設置為給定的 String 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL NCHARNVARCHARLONGNVARCHAR 值(具體取決於該參數相對於驅動程序在 NVARCHAR 值上的限制的大小)。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNString

public void setNString(String parameterName,
                       String value)
                throws SQLException
將指定參數設置為給定的 String 物件。驅動程序將此值轉換為 SQL NCHARNVARCHARLONGNVARCHAR

參數:
parameterName - 要設置的列的名稱
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNCharacterStream

public void setNCharacterStream(int parameterIndex,
                                Reader value,
                                long length)
                         throws SQLException
將指定參數設置為 Reader 物件。Reader 讀取資料,一直讀取到檔案末尾。驅動程序將執行從 Java 字元格式到資料庫中國家字元集的必要轉換。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
value - 參數值
length - 參數資料中的字元數。
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNCharacterStream

public void setNCharacterStream(String parameterName,
                                Reader value,
                                long length)
                         throws SQLException
將指定參數設置為 Reader 物件。Reader 讀取資料,一直讀取到檔案末尾。驅動程序將執行從 Java 字元格式到資料庫中國家字元集的必要轉換。

參數:
parameterName - 要設置的列的名稱
value - 參數值
length - 參數資料中的字元數。
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNCharacterStream

public void setNCharacterStream(String parameterName,
                                Reader value)
                         throws SQLException
將指定參數設置為 Reader 物件。Reader 讀取資料,一直讀取到檔案末尾。驅動程序將執行從 Java 字元格式到資料庫中國家字元集的必要轉換。

註: 此串流物件既可以是一個標準 Java 串流物件,也可以是實作標準介面的使用者自己的子類別。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setNCharacterStream 是否更有效。

參數:
parameterName - 參數的名稱
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤;或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setNClob

public void setNClob(String parameterName,
                     NClob value)
              throws SQLException
將指定參數設置為 java.sql.NClob 物件。該物件實作 java.sql.NClob 介面。此 NClob 物件映射到 SQL NCLOB

參數:
parameterName - 要設置的列的名稱
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNClob

public void setNClob(String parameterName,
                     Reader reader,
                     long length)
              throws SQLException
將指定參數設置為 Reader 物件。reader 必須包含 length 所指定的字元數,否則,在執行 CallableStatement 時將產生 SQLException。此方法不同於 setCharacterStream (int, Reader, int) 方法,因為它通知驅動程序參數值應該以 NCLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGNVARCHAR 還是 NCLOB 的形式發送到伺服器。

參數:
parameterName - 要設置的參數的名稱
reader - 套件含用來設置參數值的資料的物件。
length - 參數資料中的字元數。
拋出:
SQLException - 如果 parameterIndex 不對應 SQL 語句中的參數標記;如果指定長度小於 0;如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setNClob

public void setNClob(String parameterName,
                     Reader reader)
              throws SQLException
將指定參數設置為 Reader 物件。此方法不同於 setCharacterStream (int, Reader) 方法,因為它通知驅動程序參數值應該以 NCLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGNVARCHAR 還是 NCLOB 的形式發送到伺服器。

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setNClob 是否更有效。

參數:
parameterName - 參數的名稱
reader - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤或者在關閉的 CallableStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setNClob

public void setNClob(int parameterIndex,
                     Reader reader,
                     long length)
              throws SQLException
將指定參數設置為 Reader 物件。reader 必須包含 length 所指定的字元數,否則,在執行 PreparedStatement 時將會產生 SQLException。此方法不同於 setCharacterStream (int, Reader, int) 方法,因為它通知驅動程序參數值應該以 NCLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGNVARCHAR 還是 NCLOB 的形式發送到伺服器。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
reader - 套件含用來設置參數值的資料的物件。
length - 參數資料中的字元數。
拋出:
SQLException - 如果 parameterIndex 不對應 SQL 語句中的參數標記;如果指定長度小於 0;如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setNClob

public void setNClob(int parameterIndex,
                     NClob value)
              throws SQLException
將指定參數設置為 java.sql.NClob 物件。在將此值發送到資料庫時,驅動程序將其轉換為 SQL NCLOB 值。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
value - 參數值
拋出:
SQLException - 如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;或者發生資料庫存取錯誤
從以下版本開始:
1.6

setNClob

public void setNClob(int parameterIndex,
                     Reader reader)
              throws SQLException
將指定參數設置為 Reader 物件。此方法不同於 setCharacterStream (int, Reader) 方法,因為它通知驅動程序參數值應該以 NCLOB 的形式發送到伺服器。使用 setCharacterStream 方法時,驅動程序必須做額外的工作來確定參數資料是以 LONGNVARCHAR 還是 NCLOB 的形式發送到伺服器

註: 請參考 JDBC 驅動程序文檔確定使用帶有長度參數的 setNClob 是否更有效。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
reader - 套件含用來設置參數值的資料的物件。
拋出:
SQLException - 如果 parameterIndex 不對應 SQL 語句中的參數標記;如果驅動程序不支持國家字元集;如果驅動程序檢測到可能發生資料轉換錯誤;如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.6

setURL

public void setURL(int parameterIndex,
                   URL x)
            throws SQLException
將指定參數設置為給定的 java.net.URL 值。在將此值發送到資料庫時,驅動程序將其轉換為 SQL DATALINK 值。

參數:
parameterIndex - 第一個參數的索引是 1,第二個參數的索引是 2 ……
x - 要設置的 java.net.URL 物件
拋出:
SQLException - 如果發生資料庫存取錯誤或者在關閉的 PreparedStatement 上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only