JavaTM 2 Platform
Standard Ed. 6

javax.sql.rowset.serial
類別 SQLInputImpl

java.lang.Object
  繼承者 javax.sql.rowset.serial.SQLInputImpl
所有已實作的介面:
SQLInput

public class SQLInputImpl
extends Object
implements SQLInput

用於自定義映射使用者定義型別 (UDT) 的輸入串流。SQLInputImpl 物件是一個套件含值串流的輸入串流,這些值是 UDT 的屬性。

在對具有自定義映射關係的 SQL 結構型別或不同型別調用 getObject 方法時,驅動程序在後台使用此類別;開發人員決不直接調用 SQLInputImpl 方法。這裡提供這些方法是為了便於編寫 RowSet 實作。

SQLInputImpl 類別提供一組類似於 ResultSet 獲取方法的讀取方法。這些方法可以在 SQLInputImpl 物件中讀取值。

方法 wasNull 用於確定讀取的最後一個值是否是 SQL NULL

當用實作介面 SQLData 的類別的物件調用方法 getObject 時,JDBC 驅動程序調用方法 SQLData.getSQLType 來確定要自定義映射的 UDT 的 SQL 型別。驅動程序創建一個 SQLInputImpl 實例,並用 UDT 的屬性填充它。然後,驅動程序將輸入串流傳遞給 SQLData.readSQL 方法,該方法依次調用 SQLInputImpl 讀取方法從輸入串流讀取屬性。

另請參見:
SQLData

建構子摘要
SQLInputImpl(Object[] attributes, Map<String,Class<?>> map)
          創建一個 SQLInputImpl 物件,並使用給定的屬性陣列和型別映射表進行初始化。
 
方法摘要
 Array readArray()
          從串流中讀取 SQL ARRAY 值並以 Java 程式語言中 Array 物件的形式返回。
 InputStream readAsciiStream()
          以 ASCII 字元串流的形式返回此 SQLInputImpl 物件中的下一個屬性。
 BigDecimal readBigDecimal()
          以 java.math.BigDecimal 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 InputStream readBinaryStream()
          以未解釋位元組串流的形式返回此 SQLInputImpl 物件中的下一個屬性。
 Blob readBlob()
          以 Java 程式語言中 Blob 物件的形式獲取此 SQLInputImpl 物件頭部的 BLOB 值。
 boolean readBoolean()
          以 Java 程式語言中 boolean 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 byte readByte()
          以 Java 程式語言中 byte 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 byte[] readBytes()
          以位元組陣列的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 Reader readCharacterStream()
          以 Unicode 字元串流的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 Clob readClob()
          以 Java 程式語言中 Clob 物件的形式獲取此 SQLInputImpl 物件頭部的 CLOB 值。
 Date readDate()
          以 java.sql.Date 物件的形式獲取此 SQLInputImpl 中的下一個屬性。
 double readDouble()
          以 Java 程式語言中 double 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 float readFloat()
          以 Java 程式語言中 float 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 int readInt()
          以 Java 程式語言中 int 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 long readLong()
          以 Java 程式語言中 long 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 NClob readNClob()
          從串流中讀取 SQL NCLOB 值並以 Java 程式語言中 Clob 物件的形式返回。
 String readNString()
          讀取串流中下一個屬性並以 Java 程式語言中 String 的形式返回。
 Object readObject()
          以 Java 程式語言中 Object 的形式獲取此 SQLInputImpl 物件的頭部值。
 Ref readRef()
          以 Java 程式語言中 Ref 物件的形式獲取此 SQLInputImpl 物件的頭部值。
 RowId readRowId()
          從串流中讀取 SQL ROWID 值並以 Java 程式語言中 RowId 物件的形式返回。
 short readShort()
          以 Java 程式語言中 short 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 SQLXML readSQLXML()
          從串流中讀取 SQL XML 值並以 Java 程式語言中 SQLXML 物件的形式返回。
 String readString()
          以 Java 程式語言中 String 的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 Time readTime()
          以 java.sql.Time 物件的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 Timestamp readTimestamp()
          以 java.sql.Timestamp 物件的形式獲取此 SQLInputImpl 物件中的下一個屬性。
 URL readURL()
          從串流中讀取 SQL DATALINK 值並以 Java 程式語言中 URL 物件的形式返回。
 boolean wasNull()
          確認從此 SQLInputImpl 物件讀取的上一個值是否為 null
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SQLInputImpl

public SQLInputImpl(Object[] attributes,
                    Map<String,Class<?>> map)
             throws SQLException
創建一個 SQLInputImpl 物件,並使用給定的屬性陣列和型別映射表進行初始化。如果這些屬性中有某個 UDT 屬性的名稱存在於型別映射表條目中,則根據相應的 SQLData 實作映射該屬性。

參數:
attributes - Object 實例陣列,其中每個元素都是 UDT 屬性。陣列中屬性的順序與它們在 UDT 定義中所定義的順序相同。
map - 套件含零個或多個條目的 java.util.Map 物件,其中每個條目包含:1) 給出 UDT 完全限定名的 String 2) 用於定義 UDT 映射方式的 SQLData 實作的 Class 物件
拋出:
SQLException - 如果 attributesmap 的值為 null
方法詳細資訊

readString

public String readString()
                  throws SQLException
以 Java 程式語言中 String 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readString
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readBoolean

public boolean readBoolean()
                    throws SQLException
以 Java 程式語言中 boolean 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readBoolean
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readByte

public byte readByte()
              throws SQLException
以 Java 程式語言中 byte 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readByte
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readShort

public short readShort()
                throws SQLException
以 Java 程式語言中 short 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readShort
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readInt

public int readInt()
            throws SQLException
以 Java 程式語言中 int 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readInt
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readLong

public long readLong()
              throws SQLException
以 Java 程式語言中 long 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readLong
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readFloat

public float readFloat()
                throws SQLException
以 Java 程式語言中 float 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readFloat
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readDouble

public double readDouble()
                  throws SQLException
以 Java 程式語言中 double 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readDouble
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readBigDecimal

public BigDecimal readBigDecimal()
                          throws SQLException
java.math.BigDecimal 的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readBigDecimal
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readBytes

public byte[] readBytes()
                 throws SQLException
以位元組陣列的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readBytes
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readDate

public Date readDate()
              throws SQLException
java.sql.Date 物件的形式獲取此 SQLInputImpl 中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作定義的 UDT 映射。

指定者:
介面 SQLInput 中的 readDate
返回:
SQLInputImpl 物件中的下一個屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readTime

public Time readTime()
              throws SQLException
java.sql.Time 物件的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readTime
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readTimestamp

public Timestamp readTimestamp()
                        throws SQLException
java.sql.Timestamp 物件的形式獲取此 SQLInputImpl 物件中的下一個屬性。

指定者:
介面 SQLInput 中的 readTimestamp
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readCharacterStream

public Reader readCharacterStream()
                           throws SQLException
以 Unicode 字元串流的形式獲取此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readCharacterStream
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readAsciiStream

public InputStream readAsciiStream()
                            throws SQLException
以 ASCII 字元串流的形式返回此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readAsciiStream
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readBinaryStream

public InputStream readBinaryStream()
                             throws SQLException
以未解釋位元組串流的形式返回此 SQLInputImpl 物件中的下一個屬性。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readBinaryStream
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readObject

public Object readObject()
                  throws SQLException
以 Java 程式語言中 Object 的形式獲取此 SQLInputImpl 物件的頭部值。如果不存在自定義映射關係,則返回物件的實際型別由 SQL 型別到 Java 程式語言中型別的預設映射關係確定;如果存在自定義映射關係,則返回物件的型別由此串流的型別映射確定。

在將串流傳遞給應用程序之前,啟用 JDBC 技術的驅動程序在串流中註冊型別映射表。

當串流頭部中的資料為 SQL NULL 時,此方法返回 null。如果資料是具有自定義映射關係的 SQL 結構型別或 distinct 型別,則此方法確定位於串流頭部的資料的 SQL 型別,建構適當類別的物件,並對該物件調用 SQLData.readSQL 方法。然後,readSQL 方法調用適當的 SQLInputImpl.readXXX 方法從串流獲取屬性值。

指定者:
介面 SQLInput 中的 readObject
返回:
以 Java 程式語言中 Object 的形式返回串流頭部的值;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值

readRef

public Ref readRef()
            throws SQLException
以 Java 程式語言中 Ref 物件的形式獲取此 SQLInputImpl 物件的頭部值。

指定者:
介面 SQLInput 中的 readRef
返回:
表示位於串流頭部的 SQL REF 值的 Ref 物件;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readBlob

public Blob readBlob()
              throws SQLException
以 Java 程式語言中 Blob 物件的形式獲取此 SQLInputImpl 物件頭部的 BLOB 值。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readBlob
返回:
表示位於此串流頭部的 SQL BLOB 值的 Blob 物件;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readClob

public Clob readClob()
              throws SQLException
以 Java 程式語言中 Clob 物件的形式獲取此 SQLInputImpl 物件頭部的 CLOB 值。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readClob
返回:
表示位於串流頭部的 SQL CLOB 值的 Clob 物件;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readArray

public Array readArray()
                throws SQLException
從串流中讀取 SQL ARRAY 值並以 Java 程式語言中 Array 物件的形式返回。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readArray
返回:
表示位於串流頭部的 SQL ARRAY 值的 Array 物件;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

wasNull

public boolean wasNull()
                throws SQLException
確認從此 SQLInputImpl 物件讀取的上一個值是否為 null

指定者:
介面 SQLInput 中的 wasNull
返回:
如果最近一次讀取的 SQL 值為 null,則返回 true;否則返回 false;預設情況下它將返回 false
拋出:
SQLException - 如果在確定上一次讀取的值是否為 null 值時發生錯誤。

readURL

public URL readURL()
            throws SQLException
從串流中讀取 SQL DATALINK 值並以 Java 程式語言中 URL 物件的形式返回。

此方法不執行型別安全檢查來確定返回型別是否為期望型別;該職責已委託給 SQLData 實作的 UDT 映射。

指定者:
介面 SQLInput 中的 readURL
返回:
表示位於串流頭部的 SQL DATALINK 值的 URL 物件;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果讀取位置被定位在無效位置,或者串流中不存在更多值。

readNClob

public NClob readNClob()
                throws SQLException
從串流中讀取 SQL NCLOB 值並以 Java 程式語言中 Clob 物件的形式返回。

指定者:
介面 SQLInput 中的 readNClob
返回:
NClob 物件,表示位於串流頭部的 SQL NCLOB 值的資料;如果讀取的值為 SQL NULL,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤

readNString

public String readNString()
                   throws SQLException
讀取串流中下一個屬性並以 Java 程式語言中 String 的形式返回。存取 NCHARNVARCHARLONGNVARCHAR 列時使用該方法。

指定者:
介面 SQLInput 中的 readNString
返回:
屬性;如果值為 SQL NULL,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤

readSQLXML

public SQLXML readSQLXML()
                  throws SQLException
從串流中讀取 SQL XML 值並以 Java 程式語言中 SQLXML 物件的形式返回。

指定者:
介面 SQLInput 中的 readSQLXML
返回:
SQLXML 物件,表示位於串流頭部的 SQL XML 值的資料;如果讀取的值為 SQL NULL,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤

readRowId

public RowId readRowId()
                throws SQLException
從串流中讀取 SQL ROWID 值並以 Java 程式語言中 RowId 物件的形式返回。

指定者:
介面 SQLInput 中的 readRowId
返回:
RowId 物件,表示位於串流頭部的 SQL ROWID 值的資料;如果讀取的值為 SQL NULL,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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