|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface CallableStatement
用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 型参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。
{?= call <procedure-name>[<arg1>,<arg2>, ...]} {call <procedure-name>[<arg1>,<arg2>, ...]}
IN 参数值是使用从 PreparedStatement
中继承的 set
方法设置的。在执行存储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提供的 get
方法检索的。
CallableStatement
可以返回一个 ResultSet
对象或多个 ResultSet
对象。多个 ResultSet
对象是使用从 Statement
中继承的操作处理的。
为了获得最大的可移植性,某一调用的 ResultSet
对象和更新计数应该在获得输出参数的值之前处理。
Connection.prepareCall(java.lang.String)
,
ResultSet
字段摘要 |
---|
从接口 java.sql.Statement 继承的字段 |
---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
方法摘要 | |
---|---|
Array |
getArray(int i)
以 Java 编程语言中 Array 对象的形式检索指定的 JDBC ARRAY 参数的值。 |
Array |
getArray(String parameterName)
以 Java 编程语言中 ARRAY 对象的形式检索 JDBC ARRAY 参数的值。 |
BigDecimal |
getBigDecimal(int parameterIndex)
检索指定 JDBC NUMERIC 参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal 对象的形式。 |
BigDecimal |
getBigDecimal(int parameterIndex,
int scale)
已过时。 使用 getBigDecimal(int parameterIndex) 或 getBigDecimal(String parameterName) |
BigDecimal |
getBigDecimal(String parameterName)
检索 JDBC NUMERIC 参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal 对象的形式。 |
Blob |
getBlob(int i)
以 Java 编程语言中 Blob 对象的形式检索指定的 JDBC BLOB 参数的值。 |
Blob |
getBlob(String parameterName)
以 Java 编程语言中 Blob 对象的形式检索 JDBC BLOB 参数的值。 |
boolean |
getBoolean(int parameterIndex)
以 Java 编程语言中 boolean 值的形式检索指定的 JDBC BIT 参数的值。 |
boolean |
getBoolean(String parameterName)
以 Java 编程语言中 boolean 值的形式检索 JDBC BIT 参数的值。 |
byte |
getByte(int parameterIndex)
以 Java 编程语言中 byte 的形式检索指定的 JDBC TINYINT 参数的值。 |
byte |
getByte(String parameterName)
以 Java 编程语言中 byte 值的形式检索 JDBC TINYINT 参数的值。 |
byte[] |
getBytes(int parameterIndex)
以 Java 编程语言中 byte 数组值的形式检索指定的 JDBC BINARY 或 VARBINARY 参数的值。 |
byte[] |
getBytes(String parameterName)
以 Java 编程语言中 byte 数组值的形式检索 JDBC BINARY 或 VARBINARY 参数的值。 |
Clob |
getClob(int i)
以 Java 编程语言中 Clob 对象的形式检索指定的 JDBC CLOB 参数的值。 |
Clob |
getClob(String parameterName)
以 Java 编程语言中 CLOB 对象的形式检索 JDBC CLOB 参数的值。 |
Date |
getDate(int parameterIndex)
以 java.sql.Date 对象的形式检索指定 JDBC DATE 参数的值。 |
Date |
getDate(int parameterIndex,
Calendar cal)
以 java.sql.Date 对象的形式检索指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
Date |
getDate(String parameterName)
以 java.sql.Date 对象的形式检索 JDBC DATE 参数的值。 |
Date |
getDate(String parameterName,
Calendar cal)
以 java.sql.Date 对象的形式检索 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
double |
getDouble(int parameterIndex)
以 Java 编程语言中 double 值的形式检索指定的 JDBC DOUBLE 参数的值。 |
double |
getDouble(String parameterName)
以 Java 编程语言中 double 值的形式检索 JDBC DOUBLE 参数的值。 |
float |
getFloat(int parameterIndex)
以 Java 编程语言中 float 值的形式检索指定的 JDBC FLOAT 参数的值。 |
float |
getFloat(String parameterName)
以 Java 编程语言中 float 值的形式检索 JDBC FLOAT 参数的值。 |
int |
getInt(int parameterIndex)
以 Java 编程语言中 int 值的形式检索指定的 JDBC INTEGER 参数的值。 |
int |
getInt(String parameterName)
以 Java 编程语言中 int 值的形式检索 JDBC INTEGER 参数的值。 |
long |
getLong(int parameterIndex)
以 Java 编程语言中 long 值的形式检索指定的 JDBC BIGINT 参数的值。 |
long |
getLong(String parameterName)
以 Java 编程语言中 long 值的形式检索 JDBC BIGINT 参数的值。 |
Object |
getObject(int parameterIndex)
以 Java 编程语言中 Object 的形式检索指定参数的值。 |
Object |
getObject(int i,
Map<String,Class<?>> map)
返回一个表示 OUT 参数 i 的值的对象,并将 map 用于该参数值的自定义映射关系。 |
Object |
getObject(String parameterName)
以 Java 编程语言中 Object 的形式检索参数的值。 |
Object |
getObject(String parameterName,
Map<String,Class<?>> map)
返回一个表示 OUT 参数 i 的值的对象,并将 map 用于该参数值的自定义映射关系。 |
Ref |
getRef(int i)
以 Java 编程语言中 Ref 对象的形式检索指定的 JDBC REF(<structured-type>) 参数的值。 |
Ref |
getRef(String parameterName)
以 Java 编程语言中 Ref 对象的形式检索 JDBC REF(<structured-type>) 参数的值。 |
short |
getShort(int parameterIndex)
以 Java 编程语言中 short 值的形式检索指定的 JDBC SMALLINT 参数的值。 |
short |
getShort(String parameterName)
以 Java 编程语言中 short 值的形式检索 JDBC SMALLINT 参数的值。 |
String |
getString(int parameterIndex)
以 Java 编程语言中 String 的形式检索指定的 JDBC CHAR 、VARCHAR 或 LONGVARCHAR 参数的值。 |
String |
getString(String parameterName)
以 Java 编程语言中 String 的形式检索 JDBC CHAR 、VARCHAR 或 LONGVARCHAR 参数的值。 |
Time |
getTime(int parameterIndex)
以 java.sql.Time 对象的形式检索指定 JDBC TIME 参数的值。 |
Time |
getTime(int parameterIndex,
Calendar cal)
以 java.sql.Time 对象的形式检索指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Time |
getTime(String parameterName)
以 java.sql.Time 对象的形式检索 JDBC TIME 参数的值。 |
Time |
getTime(String parameterName,
Calendar cal)
以 java.sql.Time 对象的形式检索 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Timestamp |
getTimestamp(int parameterIndex)
以 java.sql.Timestamp 对象的形式检索指定 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(int parameterIndex,
Calendar cal)
java.sql.Timestamp 对象的形式检索指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
Timestamp |
getTimestamp(String parameterName)
以 java.sql.Timestamp 对象的形式检索 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(String parameterName,
Calendar cal)
以 java.sql.Timestamp 对象的形式检索 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
URL |
getURL(int parameterIndex)
以 java.sql.URL 对象的形式检索指定 JDBC DATALINK 参数的值。 |
URL |
getURL(String parameterName)
以 java.net.URL 对象的形式检索 JDBC DATALINK 参数的值。 |
void |
registerOutParameter(int parameterIndex,
int sqlType)
按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(int parameterIndex,
int sqlType,
int scale)
按顺序位置 parameterIndex 将参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(int paramIndex,
int sqlType,
String typeName)
注册指定的输出参数。 |
void |
registerOutParameter(String parameterName,
int sqlType)
将名为 parameterName 的 OUT 参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(String parameterName,
int sqlType,
int scale)
将名为 parameterName 的参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(String parameterName,
int sqlType,
String typeName)
注册指定的输出参数。 |
void |
setAsciiStream(String parameterName,
InputStream x,
int length)
将指定参数设置为给定输入流,该输入流将拥有给定字节数。 |
void |
setBigDecimal(String parameterName,
BigDecimal x)
将指定参数设置为给定 java.math.BigDecimal 值。 |
void |
setBinaryStream(String parameterName,
InputStream x,
int length)
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBoolean(String parameterName,
boolean x)
将指定参数设置为给定 Java boolean 值。 |
void |
setByte(String parameterName,
byte x)
将指定参数设置为给定 Java byte 值。 |
void |
setBytes(String parameterName,
byte[] x)
将指定参数设置为给定 Java 字节数组。 |
void |
setCharacterStream(String parameterName,
Reader reader,
int length)
将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数目。 |
void |
setDate(String parameterName,
Date x)
将指定参数设置为给定 java.sql.Date 值。 |
void |
setDate(String parameterName,
Date x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。 |
void |
setDouble(String parameterName,
double x)
将指定参数设置为给定 Java double 值。 |
void |
setFloat(String parameterName,
float x)
将指定参数设置为给定 Java float 值。 |
void |
setInt(String parameterName,
int x)
将指定参数设置为给定 Java int 值。 |
void |
setLong(String parameterName,
long x)
将指定参数设置为给定 Java long 值。 |
void |
setNull(String parameterName,
int sqlType)
将指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName,
int sqlType,
String typeName)
将指定参数设置为 SQL NULL 。 |
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 |
setShort(String parameterName,
short x)
将指定参数设置为给定 Java short 值。 |
void |
setString(String parameterName,
String x)
将指定参数设置为给定 Java String 值。 |
void |
setTime(String parameterName,
Time x)
将指定参数设置为给定 java.sql.Time 值。 |
void |
setTime(String parameterName,
Time x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。 |
void |
setTimestamp(String parameterName,
Timestamp x)
将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setTimestamp(String parameterName,
Timestamp x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setURL(String parameterName,
URL val)
将指定参数设置为给定 java.net.URL 对象。 |
boolean |
wasNull()
检索最后一个读取的 OUT 参数是否为 SQL NULL 。 |
方法详细信息 |
---|
void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
parameterIndex
将 OUT 参数注册为 JDBC 类型 sqlType
。所有 OUT 参数都必须在执行存储过程前注册。
由 sqlType
指定的 OUT 参数的 JDBC 类型确定必须用于 get
方法来读取该参数值的 Java 类型。
如果预期返回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType
应该是 java.sql.Types.OTHER
。方法 getObject(int)
检索该值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推sqlType
- java.sql.Types
定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC
或 DECIMAL
,则应使用接受标度值的那种 registerOutParameter
。
SQLException
- 如果发生数据库访问错误Types
void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
parameterIndex
将参数注册为 JDBC 类型 sqlType
。必须在执行存储过程之前调用此方法。
由 sqlType
指定的 OUT 参数的 JDBC 类型确定必须用于 get
方法来读取该参数值的 Java 类型。
这种 registerOutParameter
应该在参数是 JDBC 类型 NUMERIC
或 DECIMAL
时使用。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推sqlType
- 由 java.sql.Types
定义的 SQL 类型代码。scale
- 小数点右边所需的位数。该参数必须大于或等于零。
SQLException
- 如果发生数据库访问错误Types
boolean wasNull() throws SQLException
NULL
。注意,此方法应该仅在调用获取方法之后调用;否则没有用来确定它是否为 null
的值。
NULL
,则返回 true
;否则返回 false
SQLException
- 如果发生数据库访问错误String getString(int parameterIndex) throws SQLException
String
的形式检索指定的 JDBC CHAR
、VARCHAR
或 LONGVARCHAR
参数的值。
对于固定长度类型 JDBC CHAR
,返回的 String
对象与数据库中所拥有的 JDBC CHAR
值完全相同,包括数据库添加的任何填充数据。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setString(java.lang.String, java.lang.String)
boolean getBoolean(int parameterIndex) throws SQLException
boolean
值的形式检索指定的 JDBC BIT
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 false
。
SQLException
- 如果发生数据库访问错误setBoolean(java.lang.String, boolean)
byte getByte(int parameterIndex) throws SQLException
byte
的形式检索指定的 JDBC TINYINT
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setByte(java.lang.String, byte)
short getShort(int parameterIndex) throws SQLException
short
值的形式检索指定的 JDBC SMALLINT
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setShort(java.lang.String, short)
int getInt(int parameterIndex) throws SQLException
int
值的形式检索指定的 JDBC INTEGER
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setInt(java.lang.String, int)
long getLong(int parameterIndex) throws SQLException
long
值的形式检索指定的 JDBC BIGINT
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setLong(java.lang.String, long)
float getFloat(int parameterIndex) throws SQLException
float
值的形式检索指定的 JDBC FLOAT
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setFloat(java.lang.String, float)
double getDouble(int parameterIndex) throws SQLException
double
值的形式检索指定的 JDBC DOUBLE
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setDouble(java.lang.String, double)
@Deprecated BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
getBigDecimal(int parameterIndex)
或 getBigDecimal(String parameterName)
NUMERIC
参数的值,以一个小数点右边有 scale 个位数的 java.math.BigDecimal
对象的形式。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推scale
- 小数点右边的位数
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setBigDecimal(java.lang.String, java.math.BigDecimal)
byte[] getBytes(int parameterIndex) throws SQLException
byte
数组值的形式检索指定的 JDBC BINARY
或 VARBINARY
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setBytes(java.lang.String, byte[])
Date getDate(int parameterIndex) throws SQLException
java.sql.Date
对象的形式检索指定 JDBC DATE
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setDate(java.lang.String, java.sql.Date)
Time getTime(int parameterIndex) throws SQLException
java.sql.Time
对象的形式检索指定 JDBC TIME
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(int parameterIndex) throws SQLException
java.sql.Timestamp
对象的形式检索指定 JDBC TIMESTAMP
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTimestamp(java.lang.String, java.sql.Timestamp)
Object getObject(int parameterIndex) throws SQLException
Object
的形式检索指定参数的值。如果值为 SQL NULL
,则驱动程序返回一个 Java null
。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter
方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER
,可以使用此方法来读取特定于数据库的抽象数据类型。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
java.lang.Object
SQLException
- 如果发生数据库访问错误Types
,
setObject(java.lang.String, java.lang.Object, int, int)
BigDecimal getBigDecimal(int parameterIndex) throws SQLException
NUMERIC
参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal
对象的形式。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setBigDecimal(java.lang.String, java.math.BigDecimal)
Object getObject(int i, Map<String,Class<?>> map) throws SQLException
i
的值的对象,并将 map
用于该参数值的自定义映射关系。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter
方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER
,可以使用此方法来读取特定于数据库的抽象数据类型。
i
- 第一个参数是 1,第二个参数是 2,依此类推map
- SQL 类型名称到 Java 类的映射关系
java.lang.Object
SQLException
- 如果发生数据库访问错误setObject(java.lang.String, java.lang.Object, int, int)
Ref getRef(int i) throws SQLException
Ref
对象的形式检索指定的 JDBC REF(<structured-type>)
参数的值。
i
- 第一个参数是 1,第二个参数是 2,依此类推
Ref
对象形式的参数值如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Blob getBlob(int i) throws SQLException
Blob
对象的形式检索指定的 JDBC BLOB
参数的值。
i
- 第一个参数是 1,第二个参数是 2,依此类推
Blob
对象形式的参数值如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Clob getClob(int i) throws SQLException
Clob
对象的形式检索指定的 JDBC CLOB
参数的值。
i
- 第一个参数是 1,第二个参数是 2,依此类推
Clob
对象形式的参数值如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Array getArray(int i) throws SQLException
Array
对象的形式检索指定的 JDBC ARRAY
参数的值。
i
- 第一个参数是 1,第二个参数是 2,依此类推
Array
对象形式的参数值如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Date getDate(int parameterIndex, Calendar cal) throws SQLException
java.sql.Date
对象的形式检索指定 JDBC DATE
参数的值,使用给定 Calendar
对象构造日期。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推cal
- 驱动程序将用来构造日期的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setDate(java.lang.String, java.sql.Date)
Time getTime(int parameterIndex, Calendar cal) throws SQLException
java.sql.Time
对象的形式检索指定 JDBC TIME
参数的值,使用给定 Calendar
对象构造时间。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推cal
- 驱动程序将用来构造时间的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
java.sql.Timestamp
对象的形式检索指定 JDBC TIMESTAMP
参数的值,使用给定 Calendar
对象构造 Timestamp
对象。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推cal
- 驱动程序将用来构造时间戳的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTimestamp(java.lang.String, java.sql.Timestamp)
void registerOutParameter(int paramIndex, int sqlType, String typeName) throws SQLException
registerOutParameter
方法应该用于用户定义的输出参数或 REF
输出参数。用户定义类型的示例包括:STRUCT
、DISTINCT
、JAVA_OBJECT
和指定数组类型。在执行存储过程调用之前,必须显式调用 registerOutParameter
为每个 OUT 参数注册来自 java.sql.Types
的类型。对于用户定义的参数,还应该提供该参数的完全限定 SQL 类型名称,而 REF
参数则要求提供所引用类型的完全限定类型名称。不需要类型代码和类型名称信息的 JDBC 驱动程序可以忽略它。不过,为了便于移植,应用程序应该为用户定义的参数和 REF
参数提供这些值。
尽管此方法打算供用户定义的参数和 REF
参数使用,但可以将其用于注册任何 JDBC 类型的参数。如果该参数没有用户定义的类型或 REF
类型,则忽略 typeName 参数。
注:在读取 out 参数的值时,必须使用某个获取方法,该方法的 Java 类型对应于参数的已注册 SQL 类型的。
paramIndex
- 第一个参数是 1,第二个参数是 2,……sqlType
- 来自 Types
的一个值typeName
- SQL 结构类型的完全限定名称
SQLException
- 如果发生数据库访问错误Types
void registerOutParameter(String parameterName, int sqlType) throws SQLException
parameterName
的 OUT 参数注册为 JDBC 类型 sqlType
。所有 OUT 参数都必须在执行存储过程前注册。
由 sqlType
指定的 OUT 参数的 JDBC 类型确定必须用于 get
方法来读取该参数值的 Java 类型。
如果预期返回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType
应该是 java.sql.Types.OTHER
。方法 getObject(int)
检索该值。
parameterName
- 参数名sqlType
- 由 java.sql.Types
定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC
或 DECIMAL
,则应使用接受标度值的那种 registerOutParameter
。
SQLException
- 如果发生数据库访问错误Types
void registerOutParameter(String parameterName, int sqlType, int scale) throws SQLException
parameterName
的参数注册为 JDBC 类型 sqlType
。必须在执行存储过程之前调用此方法。
由 sqlType
指定的 OUT 参数的 JDBC 类型确定必须用于 get
方法来读取该参数值的 Java 类型。
这种 registerOutParameter
应该在参数是 JDBC 类型 NUMERIC
或 DECIMAL
时使用。
parameterName
- 参数名sqlType
- 由 java.sql.Types
定义的 SQL 类型代码。scale
- 小数点右边所需的位数。该参数必须大于或等于零。
SQLException
- 如果发生数据库访问错误Types
void registerOutParameter(String parameterName, int sqlType, String typeName) throws SQLException
registerOutParameter
方法应该用于用户命名的输出参数或 REF 输出参数。用户命名类型的示例包括:STRUCT、DISTINCT、JAVA_OBJECT 和指定数组类型。在执行存储过程调用之前,必须显式调用 registerOutParameter
为每个 OUT 参数注册来自 java.sql.Types
的类型。对于用户命名的参数,还应该提供该参数的完全限定 SQL 类型名称,而 REF 参数则要求提供所引用类型的完全限定类型名称。不需要类型代码和类型名称信息的 JDBC 驱动程序可以忽略它。不过,为了便于移植,应用程序应该为用户命名的参数和 REF 参数提供这些值。尽管此方法打算供用户命名的参数和 REF 参数使用,但可以将其用于注册任何 JDBC 类型的参数。如果该参数没有用户命名的类型或 REF 类型,则忽略 typeName 参数。
注:在读取 out 参数的值时,必须使用 getXXX
方法,其 Java 类型 XXX 对应于参数的已注册 SQL 类型。
parameterName
- 参数名sqlType
- 来自 Types
的一个值typeName
- SQL 结构类型的完全限定名称
SQLException
- 如果发生数据库访问错误Types
URL getURL(int parameterIndex) throws SQLException
java.sql.URL
对象的形式检索指定 JDBC DATALINK
参数的值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,……
DATALINK
值的 java.net.URL
对象
SQLException
- 如果发生数据库访问错误,或者将返回的 URL 在 Java 平台上是一个无效 URLsetURL(java.lang.String, java.net.URL)
void setURL(String parameterName, URL val) throws SQLException
java.net.URL
对象。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DATALINK
值。
parameterName
- 参数名val
- 参数值
SQLException
- 如果发生数据库访问错误,或者 URL 是错误的getURL(int)
void setNull(String parameterName, int sqlType) throws SQLException
NULL
。
注:必须指定参数的 SQL 类型。
parameterName
- 参数名sqlType
- java.sql.Types
中定义的 SQL 类型代码
SQLException
- 如果发生数据库访问错误void setBoolean(String parameterName, boolean x) throws SQLException
boolean
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BIT
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getBoolean(int)
void setByte(String parameterName, byte x) throws SQLException
byte
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TINYINT
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getByte(int)
void setShort(String parameterName, short x) throws SQLException
short
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL SMALLINT
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getShort(int)
void setInt(String parameterName, int x) throws SQLException
int
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL INTEGER
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getInt(int)
void setLong(String parameterName, long x) throws SQLException
long
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BIGINT
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getLong(int)
void setFloat(String parameterName, float x) throws SQLException
float
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL FLOAT
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getFloat(int)
void setDouble(String parameterName, double x) throws SQLException
double
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DOUBLE
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getDouble(int)
void setBigDecimal(String parameterName, BigDecimal x) throws SQLException
java.math.BigDecimal
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL NUMERIC
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getBigDecimal(int, int)
void setString(String parameterName, String x) throws SQLException
String
值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR
或 LONGVARCHAR
值(取决于该参数相对于驱动程序在 VARCHAR
值上的限制的大小)。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getString(int)
void setBytes(String parameterName, byte[] x) throws SQLException
VARBINARY
或 LONGVARBINARY
值(取决于该参数相对于驱动程序在 VARBINARY
值上的限制的大小)。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getBytes(int)
void setDate(String parameterName, Date x) throws SQLException
java.sql.Date
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DATE
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getDate(int)
void setTime(String parameterName, Time x) throws SQLException
java.sql.Time
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TIME
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getTime(int)
void setTimestamp(String parameterName, Timestamp x) throws SQLException
java.sql.Timestamp
值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TIMESTAMP
值。
parameterName
- 参数名x
- 参数值
SQLException
- 如果发生数据库访问错误getTimestamp(int)
void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException
LONGVARCHAR
参数时,通过 java.io.InputStream
发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
注:此流对象可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterName
- 参数名x
- 包含 ASCII 参数值的 Java 输入流length
- 流中的字节数
SQLException
- 如果发生数据库访问错误void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException
LONGVARBINARY
参数时,通过 java.io.InputStream
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
注:此流对象可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterName
- 参数名x
- 包含二进制参数值的 Java 输入流length
- 流中的字节数
SQLException
- 如果发生数据库访问错误void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException
java.lang
的等效对象。
在被发送到数据库之前,给定 Java 对象将被转换为给定 targetSqlType。
如果对象具有自定义映射关系(是实现 SQLData
接口的类),则 JDBC 驱动程序应该调用 SQLData.writeSQL
方法将它写入 SQL 数据流中。另一方面,如果对象是实现 Ref
、Blob
、Clob
、Struct
或 Array
的类,则驱动程序应该将它作为相应 SQL 类型的值传递给数据库。
注意,此方法可用于传递特定于数据库的抽象数据类型。
parameterName
- 参数名x
- 包含输入参数值的对象targetSqlType
- 将发送到数据库的 SQL 类型(在 java.sql.Types 中定义)。scale 参数可以进一步限定此类型。scale
- 对于 java.sql.Types.DECIMAL 或 java.sql.Types.NUMERIC 类型,该参数是小数点后的位数。对于其他所有类型,将忽略此值。
SQLException
- 如果发生数据库访问错误Types
,
getObject(int)
void setObject(String parameterName, Object x, int targetSqlType) throws SQLException
setObject
方法。
parameterName
- 参数名x
- 包含输入参数值的对象targetSqlType
- 将发送到数据库的 SQL 类型(在 java.sql.Types 中定义)
SQLException
- 如果发生数据库访问错误getObject(int)
void setObject(String parameterName, Object x) throws SQLException
Object
;所以,应该对内置类型使用 java.lang
的等效对象。
JDBC 规范指定了一个从 Java Object
类型到 SQL 类型的标准映射关系。在被发送到数据库之前,给定参数将被转换为相应 SQL 类型。
注意,通过使用特定于驱动程序的 Java 类型,此方法可用于传递特定于数据库的抽象数据类型。
如果对象是实现 SQLData
接口的类,则 JDBC 驱动程序应该调用 SQLData.writeSQL
方法将它写入 SQL 数据流中。另一方面,如果对象是实现 Ref
、Blob
、Clob
、Struct
或 Array
的类,则驱动程序应该将它作为相应 SQL 类型的值传递给数据库。
如果出现混淆,例如,如果该对象是实现不止一个上述指定接口的类,则此方法抛出异常。
parameterName
- 参数名x
- 包含输入参数值的对象
SQLException
- 如果发生数据库访问错误或者给定 Object
参数不明确getObject(int)
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
- 如果发生数据库访问错误void setDate(String parameterName, Date x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定 java.sql.Date
值。驱动程序使用 Calendar
对象构造一个 SQL DATE
值,驱动程序随后将该值发送给数据库。利用 Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机器所在的时区。
parameterName
- 参数名x
- 参数值cal
- 驱动程序将用来构造日期的 Calendar
对象
SQLException
- 如果发生数据库访问错误getDate(int)
void setTime(String parameterName, Time x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定 java.sql.Time
值。驱动程序使用 Calendar
对象构造一个 SQL TIME
值,驱动程序随后将该值发送给数据库。利用 Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算时间。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机器所在的时区。
parameterName
- 参数名x
- 参数值cal
- 驱动程序将用来构造时间的 Calendar
对象
SQLException
- 如果发生数据库访问错误getTime(int)
void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定 java.sql.Timestamp
值。驱动程序使用 Calendar
对象构造一个 SQL TIMESTAMP
值,驱动程序随后将该值发送给数据库。利用 Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算时间戳。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机器所在的时区。
parameterName
- 参数名x
- 参数值cal
- 驱动程序将用来构造时间戳的 Calendar
对象
SQLException
- 如果发生数据库访问错误getTimestamp(int)
void setNull(String parameterName, int sqlType, String typeName) throws SQLException
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
- 如果发生数据库访问错误String getString(String parameterName) throws SQLException
String
的形式检索 JDBC CHAR
、VARCHAR
或 LONGVARCHAR
参数的值。
对于固定长度类型 JDBC CHAR
,返回的 String
对象与数据库中所拥有的 JDBC CHAR
值完全相同,包括数据库添加的任何填充数据。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setString(java.lang.String, java.lang.String)
boolean getBoolean(String parameterName) throws SQLException
boolean
值的形式检索 JDBC BIT
参数的值。
parameterName
- 参数名
NULL
,则结果为 false
。
SQLException
- 如果发生数据库访问错误setBoolean(java.lang.String, boolean)
byte getByte(String parameterName) throws SQLException
byte
值的形式检索 JDBC TINYINT
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setByte(java.lang.String, byte)
short getShort(String parameterName) throws SQLException
short
值的形式检索 JDBC SMALLINT
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setShort(java.lang.String, short)
int getInt(String parameterName) throws SQLException
int
值的形式检索 JDBC INTEGER
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setInt(java.lang.String, int)
long getLong(String parameterName) throws SQLException
long
值的形式检索 JDBC BIGINT
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setLong(java.lang.String, long)
float getFloat(String parameterName) throws SQLException
float
值的形式检索 JDBC FLOAT
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setFloat(java.lang.String, float)
double getDouble(String parameterName) throws SQLException
double
值的形式检索 JDBC DOUBLE
参数的值。
parameterName
- 参数名
NULL
,则结果为 0
。
SQLException
- 如果发生数据库访问错误setDouble(java.lang.String, double)
byte[] getBytes(String parameterName) throws SQLException
byte
数组值的形式检索 JDBC BINARY
或 VARBINARY
参数的值。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setBytes(java.lang.String, byte[])
Date getDate(String parameterName) throws SQLException
java.sql.Date
对象的形式检索 JDBC DATE
参数的值。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setDate(java.lang.String, java.sql.Date)
Time getTime(String parameterName) throws SQLException
java.sql.Time
对象的形式检索 JDBC TIME
参数的值。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(String parameterName) throws SQLException
java.sql.Timestamp
对象的形式检索 JDBC TIMESTAMP
参数的值。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTimestamp(java.lang.String, java.sql.Timestamp)
Object getObject(String parameterName) throws SQLException
Object
的形式检索参数的值。如果值为 SQL NULL
,则驱动程序返回一个 Java null
。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter
方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER
,可以使用此方法来读取特定于数据库的抽象数据类型。
parameterName
- 参数名
java.lang.Object
。
SQLException
- 如果发生数据库访问错误Types
,
setObject(java.lang.String, java.lang.Object, int, int)
BigDecimal getBigDecimal(String parameterName) throws SQLException
NUMERIC
参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal
对象的形式。
parameterName
- 参数名
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setBigDecimal(java.lang.String, java.math.BigDecimal)
Object getObject(String parameterName, Map<String,Class<?>> map) throws SQLException
i
的值的对象,并将 map
用于该参数值的自定义映射关系。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter
方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER
,可以使用此方法来读取特定于数据库的抽象数据类型。
parameterName
- 参数名map
- SQL 类型名称到 Java 类的映射关系
java.lang.Object
SQLException
- 如果发生数据库访问错误setObject(java.lang.String, java.lang.Object, int, int)
Ref getRef(String parameterName) throws SQLException
Ref
对象的形式检索 JDBC REF(<structured-type>)
参数的值。
parameterName
- 参数名
Ref
对象形式的参数值。如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Blob getBlob(String parameterName) throws SQLException
Blob
对象的形式检索 JDBC BLOB
参数的值。
parameterName
- 参数名
Blob
对象形式的参数值。如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Clob getClob(String parameterName) throws SQLException
CLOB
对象的形式检索 JDBC CLOB
参数的值。
parameterName
- 参数名
Clob
对象形式的参数值。如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Array getArray(String parameterName) throws SQLException
ARRAY
对象的形式检索 JDBC ARRAY
参数的值。
parameterName
- 参数名
ARRAY
对象形式的参数值。如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误Date getDate(String parameterName, Calendar cal) throws SQLException
java.sql.Date
对象的形式检索 JDBC DATE
参数的值,使用给定 Calendar
对象构造日期。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterName
- 参数名cal
- 驱动程序将用来构造日期的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setDate(java.lang.String, java.sql.Date)
Time getTime(String parameterName, Calendar cal) throws SQLException
java.sql.Time
对象的形式检索 JDBC TIME
参数的值,使用给定 Calendar
对象构造时间。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterName
- 参数名cal
- 驱动程序将用来构造时间的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(String parameterName, Calendar cal) throws SQLException
java.sql.Timestamp
对象的形式检索 JDBC TIMESTAMP
参数的值,使用给定 Calendar
对象构造 Timestamp
对象。利用 Calendar
对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar
对象,则驱动程序使用默认时区和语言环境。
parameterName
- 参数名cal
- 驱动程序将用来构造时间戳的 Calendar
对象
NULL
,则结果为 null
。
SQLException
- 如果发生数据库访问错误setTimestamp(java.lang.String, java.sql.Timestamp)
URL getURL(String parameterName) throws SQLException
java.net.URL
对象的形式检索 JDBC DATALINK
参数的值。
parameterName
- 参数名
java.net.URL
对象形式的参数值。如果值为 SQL NULL
,则返回 null
值。
SQLException
- 如果发生数据库访问错误,或者 URL 有问题setURL(java.lang.String, java.net.URL)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。