public interface SQLInput
一个输入流,它包含表示 SQL 结构化类型或 SQL 不同类型的实例的值组成的流。此接口(仅用于自定义映射关系)供应用程序在后台使用,程序员永远不能直接调用 SQLInput
方法。reader 方法(readLong
、readBytes
等)为 SQLData
接口的实现提供了读取 SQLInput
对象值的一种方式。根据 SQLData
中的描述,必须按照其相应属性在类型的 SQL 定义中出现的顺序调用 reader 方法。方法 wasNull
用于确定读取的最后一个值是否是 SQL NULL
。
当用实现接口 SQLData
的类的对象调用方法 getObject
时,JDBC 驱动程序调用方法 SQLData.getSQLType
来确定要自定义映射的用户定义类型 (UDT) 的 SQL 类型。驱动程序创建一个 SQLInput
实例,并用 UDT 的属性填充它。然后,驱动程序将输入流传递给方法 SQLData.readSQL
,而该方法在其从输入流读取属性的实现中依次调用 SQLInput
reader 方法。
方法摘要 | |
---|---|
Array |
readArray() 从流中读取 SQL ARRAY 值并将其作为 Java 编程语言中的 Array 对象返回。 |
InputStream |
readAsciiStream() 读取流中的下一个属性并将其作为 ASCII 字符流返回。 |
BigDecimal |
readBigDecimal() 读取流中的下一个属性并将其作为 Java 编程语言中的 java.math.BigDecimal 对象返回。 |
InputStream |
readBinaryStream() 读取流中的下一个属性并将其作为未解释的字节流返回。 |
Blob |
readBlob() 从流中读取 SQL BLOB 值并将其作为 Java 编程语言中的 Blob 对象返回。 |
boolean |
readBoolean() 读取流中的下一个属性并将其作为 Java 编程语言中的 boolean 返回。 |
byte |
readByte() 读取流中的下一个属性并将其作为 Java 编程语言中的 byte 返回。 |
byte[] |
readBytes() 读取流中的下一个属性并将其作为 Java 编程语言中的字节数组返回。 |
Reader |
readCharacterStream() 读取流中的下一个属性并将其作为 Unicode 字符流返回。 |
Clob |
readClob() 从流中读取 SQL CLOB 值并将其作为 Java 编程语言中的 Clob 对象返回。 |
Date |
readDate() 读取流中的下一个属性并将其作为 java.sql.Date 对象返回。 |
double |
readDouble() 读取流中的下一个属性并将其作为 Java 编程语言中的 double 返回。 |
float |
readFloat() 读取流中的下一个属性并将其作为 Java 编程语言中的 float 返回。 |
int |
readInt() 读取流中的下一个属性并将其作为 Java 编程语言中的 int 返回。 |
long |
readLong() 读取流中的下一个属性并将其作为 Java 编程语言中的 long 返回。 |
NClob |
readNClob() 从流中读取一个 SQL NCLOB 值,并以 Java 编程语言中 NCLOB 对象的形式返回。 |
String |
readNString() 读取流中的下一个属性,并以 Java 编程语言中 String 的形式返回。 |
Object |
readObject() 读取流头中的下一个属性并将其作为 Java 编程语言中的 Object 返回。 |
Ref |
readRef() 从流读取 SQL REF 值并将其作为 Java 编程语言中的 Ref 对象返回。 |
RowId |
readRowId() 从流中读取一个 SQL ROWID 值,并以 Java 编程语言中 RowId 对象的形式返回。 |
short |
readShort() 读取流中的下一个属性并将其作为 Java 编程语言中的 short 返回。 |
SQLXML |
readSQLXML() 从流中读取一个 SQL XML 值,并以 Java 编程语言中 SQLXML 对象的形式返回。 |
String |
readString() 读取流中的下一个属性并将其作为 Java 编程语言中的 String 返回。 |
Time |
readTime() 读取流中的下一个属性并将其作为 java.sql.Time 对象返回。 |
Timestamp |
readTimestamp() 读取流中的下一个属性并将其作为 java.sql.Timestamp 对象返回。 |
URL |
readURL() 从流中读取 SQL DATALINK 值并将其作为 Java 编程语言中的 java.net.URL 对象返回。 |
boolean |
wasNull() 获取最后一个读取的值是否为 SQL NULL 。 |
方法详细信息 |
---|
String readString() throws SQLException
String
返回。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
boolean readBoolean() throws SQLException
boolean
返回。
NULL
,则返回
false
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
byte readByte() throws SQLException
byte
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
short readShort() throws SQLException
short
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
int readInt() throws SQLException
int
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
long readLong() throws SQLException
long
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
float readFloat() throws SQLException
float
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
double readDouble() throws SQLException
double
返回。
NULL
,则返回
0
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
BigDecimal readBigDecimal() throws SQLException
java.math.BigDecimal
对象返回。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
byte[] readBytes() throws SQLException
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Date readDate() throws SQLException
java.sql.Date
对象返回。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Time readTime() throws SQLException
java.sql.Time
对象返回。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Timestamp readTimestamp() throws SQLException
java.sql.Timestamp
对象返回。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Reader readCharacterStream() throws SQLException
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
InputStream readAsciiStream() throws SQLException
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
InputStream readBinaryStream() throws SQLException
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Object readObject() throws SQLException
Object
返回。返回对象的实际类型由默认类型映射关系和此流的类型映射表中存在的自定义设置来确定。
类型映射表在将流传递给应用程序前通过 JDBC 驱动程序在流中注册。
当流的头 (head of the stream) 中的数据为 SQL NULL
时,该方法返回 null
。如果数据为 SQL 结构化类型或不同类型,则该方法确定了流的头中的数据的 SQL 类型。如果流的类型映射表具有该 SQL 类型的项,则驱动程序将构造相应类的对象,并对该对象调用 SQLData.readSQL
方法,该方法使用为它描述的协议从流读取其他数据。
Object
返回流的头中的数据;如果数据为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Ref readRef() throws SQLException
REF
值并将其作为 Java 编程语言中的
Ref
对象返回。
REF
值的
Ref
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Blob readBlob() throws SQLException
BLOB
值并将其作为 Java 编程语言中的
Blob
对象返回。
BLOB
值数据的
Blob
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Clob readClob() throws SQLException
CLOB
值并将其作为 Java 编程语言中的
Clob
对象返回。
CLOB
值数据的
Clob
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
Array readArray() throws SQLException
ARRAY
值并将其作为 Java 编程语言中的
Array
对象返回。
ARRAY
值数据的
Array
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
boolean wasNull() throws SQLException
NULL
。
NULL
,则返回
true
;否则返回
false
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
URL readURL() throws SQLException
DATALINK
值并将其作为 Java 编程语言中的
java.net.URL
对象返回。
java.net.URL
对象。
SQLException
- 如果发生数据库访问错误或者 URL 是错误的
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
NClob readNClob() throws SQLException
NCLOB
值,并以 Java 编程语言中
NCLOB
对象的形式返回。
NCLOB
值数据的
NClob
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
String readNString() throws SQLException
String
的形式返回。此方法用于访问
NCHAR
、
NVARCHAR
和
LONGNVARCHAR
列时。
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
SQLXML readSQLXML() throws SQLException
XML
值,并以 Java 编程语言中
SQLXML
对象的形式返回。
XML
值数据的
SQLXML
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
RowId readRowId() throws SQLException
ROWID
值,并以 Java 编程语言中
RowId
对象的形式返回。
ROWID
值数据的
RowId
对象;如果读取的值为 SQL
NULL
,则返回
null
SQLException
- 如果发生数据库访问错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法