使用 ResultSet.getXXX() 方法将数据从使用 JDBC API 连接的 GBase 8s 数据库传输到
Java™ 程序。例如,使用 ResultSet.getString() 方法获取 LVARCHAR 数据类型列中存储的
信息。
重要:
如果您在 SQL 语句中使用表达式
(例如,
SELECT mytype::LVARCHAR FROM mytab)
,
您可能不能使用 ResultSet.getXXX(columnName) 检索值。请改为使用
ResultSet.getXXX(columnIndex) 来检索该值。
如果检索的列值是 SQL 空值,则 getXXX() 方法返回空值。
本节中的表列出了 GBase 8s JDBC Driver 支持的非扩展数据类型和 GBase 8s 扩展数据类型
的 ResultSet.getXXX() 方法。
非扩展数据类型
下表列出了 GBase 8s JDBC Driver 支持的非扩展数据类型的 ResultSet.getXXX() 方法。
首先
列出了 java.sql.Types 类中定义的标准 JDBC API 数据类型。它们会转换为特定的 GBase
8s 数据类型,如在扩展类型和 Java 和 JDBC 类型之间映射数据类型中的表所示。该表列
出了可用于检索特定的 JDBC API 数据类型的数据的 getXXX() 方法。
大写和粗体 X 表示推荐与 GBase 8s JDBC Driver 一起使用的 getXXX() 方法;小写 x 表
示 GBase 8s JDBC Driver 支持的其它 getXXX() 方法。
数值型 JDBC API 数据类型
表 1. 来自 java.sql.Types 的数值型 JDBC API 数据类型
getXXX() 方法
TINYINT
SMALLINT
INTEGER
BIGINT
getByte()
X
x
x
x
getShort()
x
X
x
x
getInt()
x
x
X
x
getLong()
x
x
x
X
getFloat()
x
x
x
x
getDouble()
x
x
x
x
getBigDecimal()
x
x
x
x
getBoolean()
x
x
x
x
getString()
x
x
x
x
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 280
-
getXXX() 方法
TINYINT
SMALLINT
INTEGER
BIGINT
getObject()
x
x
x
x
表 2. 数值型 JDBC API 数据类型 (续)
getXXX() 方法
REAL
FLOAT
DOUBLE
DECIMAL
NUMERIC
getByte()
x
x
x
x
x
getShort()
x
x
x
x
x
getInt()
x
x
x
x
x
getLong()
x
x
x
x
x
getFloat()
X
x
x
x
x
getDouble()
x
X
X
x
x
getBigDecimal()
x
x
x
X
X
getBoolean()
x
x
x
x
x
getString()
x
x
x
x
x
getObject()
x
x
x
x
x
字符型和时间型 JDBC API 数据类型
表 3. 来自 java.sql.Types 的字符型和时间型 JDBC API 数据类型
getXXX() 方法
CHAR
VARCHAR
LONGVARCHAR
BINARY
getByte()
x1
x1
getShort()
x1
x1
getInt()
x1
x1
getLong()
x1
x1
getFloat()
x1
x1
getDouble()
x1
x1
getBigDecimal()
x
x
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 281
-
getXXX() 方法
CHAR
VARCHAR
LONGVARCHAR
BINARY
getBoolean()
x
x
getString()
X
X
x
x
getBytes()
x
X
getDate()
x
x
getTime()
x
x
getTimestamp()
x
x
getAsciiStream()
X
x
getCharacterStream()
X
x
getBinaryStream()
x
x
getObject()
x
x
x2
x
注:
1. 列值必须精确符合 getXXX() 类型,否则会发出 SQLException。如果列值不在允许
的范围内,则 setXXX() 方法发出异常并不会转换数据。例如,如果列值是 1000,
则 getByte(1) 会引发 SQLException。
2.
返回一个字节数组。
表 4. 来自 java.sql.Types 的字符型和时间型 JDBC API 数据类型(续)
getXXX() 方法
VARBINARY
LONGVARBINARY
DATE TIME
TIMESTAMP
getString()
x
x
x
x
x
getBytes()
X
x
getDate()
X
x
getTime()
X
x
getTimestamp()
x
X
getAsciiStream()
x
x
getCharacterStream(
x
x
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 282
-
getXXX() 方法
VARBINARY
LONGVARBINARY
DATE TIME
TIMESTAMP
)
getBinaryStream()
x
X
getObject()
x
x1
x
x2
x
注:
1.
返回一个字节数组。
2.
返回一个 Timestamp 对象而不是 Time 对象。
GBase 8s 扩展数据类型
下表列出了 GBase 8s JDBC Driver 支持的 GBase 8s 扩展数据类型
的 PreparedStatement.getXXX() 方法,
其之间的映射在表在扩展类型和 Java 和 JDBC 类型
之间映射数据类型中展示。该表列出了您可以用于检索的特定扩展数据类型的数据
的 getXXX() 方法。
大写并加粗的 X 表示推荐使用的 getXXX() 方法;
小写的 x 表示 GBase 8s JDBC Driver 支持
的其它 getXXX() 方法。
该表不包含您不能使用的GBase 8s 扩展数据类型的 getXXX() 方法。
表 1. GBase 8s 扩展数据类型
getXXX() 方法
BOOLEAN
LVARCHAR
Opaque
类型
BLOB
CLOB
BYTE
getByte()
x
x
getShort()
x
getInt()
x
getBoolean()
X
getString()
X
x
getBytes()
x
x
getAsciiStream()
x
x
getCharacterStream()
x
x
getBinaryStream()
x
x
X
getObject()
x
x
X
x
x
x
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 283
-
getXXX() 方法
BOOLEAN
LVARCHAR
Opaque
类型
BLOB
CLOB
BYTE
getBlob()
X
getClob()
X
表 2. GBase 8s 扩展的数据类型(续)
getXXX() 方法
TEXT
NAMED ROW UNNAMED ROW
SET 或
MULTISET
LIST
getString()
x
getBytes()
getAsciiStream()
X
getCharacterStream()
X
getBinaryStream()
getObject()
x
X
X
x
x
getArray()
x
x
getBlob()
getClob()