站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JavaTM 2 Platform Standard Edition 6.0 API 规范中文版

CallableStatement (Java Platform SE 6) - JavaTM 2 Platform Standard Edition 6.0 API 规范中文版


JavaTM Platform
Standard Ed. 6

java.sql
接口 CallableStatement

所有超级接口:
PreparedStatement, Statement, Wrapper

public interface CallableStatement
extends PreparedStatement

用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。

   {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
   {call <procedure-name>[(<arg1>,<arg2>, ...)]}
 

IN 参数值是使用继承自 PreparedStatementset 方法设置的。在执行存储过程之前,必须注册所有 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 parameterIndex)
          以 Java 编程语言中 Array 对象的形式获取指定的 JDBC ARRAY 参数的值。
 Array getArray(String parameterName)
          以 Java 编程语言中 java.sql.ARRAY 对象的形式获取 JDBC ARRAY 参数的值。
 BigDecimal getBigDecimal(int parameterIndex)
          以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
 BigDecimal getBigDecimal(int parameterIndex, int scale)
          已过时。 使用 getBigDecimal(int parameterIndex)getBigDecimal(String parameterName)
 BigDecimal getBigDecimal(String parameterName)
          以 java.math.BigDecimal 对象的形式获取 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
 Blob getBlob(int parameterIndex)
          以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
 Blob getBlob(String parameterName)
          以 Java 编程语言中 Blob 对象的形式获取 JDBC BLOB 参数的值。
 boolean getBoolean(int parameterIndex)
          以 Java 编程语言中 boolean 值的形式获取指定的 JDBC BITBOOLEAN 参数的值。
 boolean getBoolean(String parameterName)
          以 Java 编程语言中 boolean 值的形式获取 JDBC BITBOOLEAN 参数的值。
 byte getByte(int parameterIndex)
          以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。
 byte getByte(String parameterName)
          以 Java 编程语言中 byte 值的形式获取 JDBC TINYINT 参数的值。
 byte[] getBytes(int parameterIndex)
          以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARYVARBINARY 参数的值。
 byte[] getBytes(String parameterName)
          以 Java 编程语言中 byte 数组值的形式获取 JDBC BINARYVARBINARY 参数的值。
 Reader getCharacterStream(int parameterIndex)
          以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
 Reader getCharacterStream(String parameterName)
          以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
 Clob getClob(int parameterIndex)
          以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
 Clob getClob(String parameterName)
          以 Java 编程语言中 java.sql.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 参数的值。
 Reader getNCharacterStream(int parameterIndex)
          以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
 Reader getNCharacterStream(String parameterName)
          以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
 NClob getNClob(int parameterIndex)
          以 Java 编程语言中 java.sql.NClob 对象的形式获取指定的 JDBC NCLOB 参数的值。
 NClob getNClob(String parameterName)
          以 Java 编程语言中 java.sql.NClob 对象的形式获取 JDBC NCLOB 参数的值。
 String getNString(int parameterIndex)
          以 Java 编程语言中 String 的形式获取指定的 NCHARNVARCHARLONGNVARCHAR 参数的值。
 String getNString(String parameterName)
          以 Java 编程语言中 String 的形式获取指定的 NCHARNVARCHARLONGNVARCHAR 参数的值。
 Object getObject(int parameterIndex)
          以 Java 编程语言中 Object 的形式获取指定参数的值。
 Object getObject(int parameterIndex, Map<String,Class<?>> map)
          返回一个表示 OUT 参数 parameterIndex 值的对象,并将 map 用于该参数值的自定义映射关系。
 Object getObject(String parameterName)
          以 Java 编程语言中 Object 的形式获取参数的值。
 Object getObject(String parameterName, Map<String,Class<?>> map)
          返回一个表示 OUT 参数 parameterName 值的对象,并将 map 用于该参数值的自定义映射关系。
 Ref getRef(int parameterIndex)
          以 Java 编程语言中 Ref 对象的形式获取指定的 JDBC REF(<structured-type>) 参数的值。
 Ref getRef(String parameterName)
          以 Java 编程语言中 Ref 对象的形式获取 JDBC REF(<structured-type>) 参数的值。
 RowId getRowId(int parameterIndex)
          以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。
 RowId getRowId(String parameterName)
          以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。
 short getShort(int parameterIndex)
          以 Java 编程语言中 short 值的形式获取指定的 JDBC SMALLINT 参数的值。
 short getShort(String parameterName)
          以 Java 编程语言中 short 值的形式获取 JDBC SMALLINT 参数的值。
 SQLXML getSQLXML(int parameterIndex)
          以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。
 SQLXML getSQLXML(String parameterName)
          以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。
 String getString(int parameterIndex)
          以 Java 编程语言中 String 的形式获取指定的 JDBC CHARVARCHARLONGVARCHAR 参数的值。
 String getString(String parameterName)
          以 Java 编程语言中 String 的形式获取 JDBC CHARVARCHARLONGVARCHAR 参数的值。
 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 parameterIndex, 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)
          将指定参数设置为给定输入流。
 void setAsciiStream(String parameterName, InputStream x, int length)
          将指定参数设置为给定输入流,该输入流将拥有指定的字节数。
 void setAsciiStream(String parameterName, InputStream x, long length)
          将指定参数设置为给定输入流,该输入流将拥有指定的字节数。
 void setBigDecimal(String parameterName, BigDecimal x)
          将指定参数设置为给定 java.math.BigDecimal 值。
 void setBinaryStream(String parameterName, InputStream x)
          将指定参数设置为给定输入流。
 void setBinaryStream(String parameterName, InputStream x, int length)
          将指定参数设置为给定输入流,该输入流将拥有指定的字节数。
 void setBinaryStream(String parameterName, InputStream x, long length)
          将指定参数设置为给定输入流,该输入流将拥有指定字节数。
 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(String parameterName, boolean x)
          将指定参数设置为给定 Java boolean 值。
 void setByte(String parameterName, byte x)
          将指定参数设置为给定 Java byte 值。
 void setBytes(String parameterName, byte[] x)
          将指定参数设置为给定 Java byte 数组。
 void setCharacterStream(String parameterName, Reader reader)
          将指定参数设置为给定 Reader 对象。
 void setCharacterStream(String parameterName, Reader reader, int length)
          将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数。
 void setCharacterStream(String parameterName, 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 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 setNCharacterStream(String parameterName, Reader value)
          将指定参数设置为 Reader 对象。
 void setNCharacterStream(String parameterName, Reader value, 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(String parameterName, String value)
          将指定参数设置为给定 String 对象。
 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 setRowId(String parameterName, RowId x)
          将指定参数设置为给定 java.sql.RowId 对象。
 void setShort(String parameterName, short x)
          将指定参数设置为给定 Java short 值。
 void setSQLXML(String parameterName, SQLXML xmlObject)
          将指定参数设置为给定 java.sql.SQLXML 对象。
 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
 
从接口 java.sql.PreparedStatement 继承的方法
addBatch, clearParameters, execute, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL
 
从接口 java.sql.Statement 继承的方法
addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
 
从接口 java.sql.Wrapper 继承的方法
isWrapperFor, unwrap
 

方法详细信息

registerOutParameter

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 类型 NUMERICDECIMAL,则应使用接受标度值的那种 registerOutParameter
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型
另请参见:
Types

registerOutParameter

void registerOutParameter(int parameterIndex,
                          int sqlType,
                          int scale)
                          throws SQLException
按顺序位置 parameterIndex 将参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。

sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。

这种形式的 registerOutParameter 应该在参数是 JDBC 类型 NUMERICDECIMAL 时使用。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
sqlType - 由 java.sql.Types 定义的 SQL 类型代码。
scale - 小数点右边所需的位数。该参数必须大于等于 0。
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型
另请参见:
Types

wasNull

boolean wasNull()
                throws SQLException
查询最后一个读取的 OUT 参数是否为 SQL NULL。注意,此方法只应该在调用获取方法之后调用;否则没有用来确定它是否为 null 的值。

返回:
如果最后一个读取的参数为 SQL NULL,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法

getString

String getString(int parameterIndex)
                 throws SQLException
以 Java 编程语言中 String 的形式获取指定的 JDBC CHARVARCHARLONGVARCHAR 参数的值。

对于固定长度类型 SQL CHAR,返回的 String 对象与数据库中的 JDBC CHAR 值完全相同,包括数据库添加的任何填充数据。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setString(java.lang.String, java.lang.String)

getBoolean

boolean getBoolean(int parameterIndex)
                   throws SQLException
以 Java 编程语言中 boolean 值的形式获取指定的 JDBC BITBOOLEAN 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 false
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setBoolean(java.lang.String, boolean)

getByte

byte getByte(int parameterIndex)
             throws SQLException
以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setByte(java.lang.String, byte)

getShort

short getShort(int parameterIndex)
               throws SQLException
以 Java 编程语言中 short 值的形式获取指定的 JDBC SMALLINT 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setShort(java.lang.String, short)

getInt

int getInt(int parameterIndex)
           throws SQLException
以 Java 编程语言中 int 值的形式获取指定的 JDBC INTEGER 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setInt(java.lang.String, int)

getLong

long getLong(int parameterIndex)
             throws SQLException
以 Java 编程语言中 long 值的形式获取指定的 JDBC BIGINT 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setLong(java.lang.String, long)

getFloat

float getFloat(int parameterIndex)
               throws SQLException
以 Java 编程语言中 float 值的形式获取指定的 JDBC FLOAT 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setFloat(java.lang.String, float)

getDouble

double getDouble(int parameterIndex)
                 throws SQLException
以 Java 编程语言中 double 值的形式获取指定的 JDBC DOUBLE 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 0
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setDouble(java.lang.String, double)

getBigDecimal

BigDecimal getBigDecimal(int parameterIndex,
                         int scale)
                         throws SQLException
已过时。 使用 getBigDecimal(int parameterIndex)getBigDecimal(String parameterName)

java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边有 scale 个位数。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
scale - 小数点右边的位数
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
另请参见:
setBigDecimal(java.lang.String, java.math.BigDecimal)

getBytes

byte[] getBytes(int parameterIndex)
                throws SQLException
以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARYVARBINARY 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setBytes(java.lang.String, byte[])

getDate

Date getDate(int parameterIndex)
             throws SQLException
java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setDate(java.lang.String, java.sql.Date)

getTime

Time getTime(int parameterIndex)
             throws SQLException
java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setTime(java.lang.String, java.sql.Time)

getTimestamp

Timestamp getTimestamp(int parameterIndex)
                       throws SQLException
java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
setTimestamp(java.lang.String, java.sql.Timestamp)

getObject

Object getObject(int parameterIndex)
                 throws SQLException
以 Java 编程语言中 Object 的形式获取指定参数的值。如果值为 SQL NULL,则驱动程序返回一个 Java null

此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
保存 OUT 参数值的 java.lang.Object
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
另请参见:
Types, setObject(java.lang.String, java.lang.Object, int, int)

getBigDecimal

BigDecimal getBigDecimal(int parameterIndex)
                         throws SQLException
java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
全精度参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
从以下版本开始:
1.2
另请参见:
setBigDecimal(java.lang.String, java.math.BigDecimal)

getObject

Object getObject(int parameterIndex,
                 Map<String,Class<?>> map)
                 throws SQLException
返回一个表示 OUT 参数 parameterIndex 值的对象,并将 map 用于该参数值的自定义映射关系。

此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
map - SQL 类型名称到 Java 类的映射关系
返回:
保存 OUT 参数值的 java.lang.Object
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2
另请参见:
setObject(java.lang.String, java.lang.Object, int, int)

getRef

Ref getRef(int parameterIndex)
           throws SQLException
以 Java 编程语言中 Ref 对象的形式获取指定的 JDBC REF(<structured-type>) 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
Java 编程语言中 Ref 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getBlob

Blob getBlob(int parameterIndex)
             throws SQLException
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
Java 编程语言中 Blob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getClob

Clob getClob(int parameterIndex)
             throws SQLException
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
Java 编程语言中 Clob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getArray

Array getArray(int parameterIndex)
               throws SQLException
以 Java 编程语言中 Array 对象的形式获取指定的 JDBC ARRAY 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
返回:
Java 编程语言中 Array 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getDate

Date getDate(int parameterIndex,
             Calendar cal)
             throws SQLException
java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
cal - 供驱动程序用来构造日期的 Calendar 对象
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
从以下版本开始:
1.2
另请参见:
setDate(java.lang.String, java.sql.Date)

getTime

Time getTime(int parameterIndex,
             Calendar cal)
             throws SQLException
java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
cal - 供驱动程序用来构造时间的 Calendar 对象
返回:
参数值;如果该值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
从以下版本开始:
1.2
另请参见:
setTime(java.lang.String, java.sql.Time)

getTimestamp

Timestamp getTimestamp(int parameterIndex,
                       Calendar cal)
                       throws SQLException
java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
cal - 供驱动程序用来构造时间戳的 Calendar 对象
返回:
参数值。如果值为 SQL NULL,则结果为 null
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
从以下版本开始:
1.2
另请参见:
setTimestamp(java.lang.String, java.sql.Timestamp)

registerOutParameter

void registerOutParameter(int parameterIndex,
                          int sqlType,
                          String typeName)
                          throws SQLException
注册指定的输出参数。这种形式的 registerOutParameter 方法应该用于用户定义的输出参数或 REF 输出参数。用户定义类型的示例有:STRUCTDISTINCTJAVA_OBJECT 和指定的数组类型。

所有 OUT 参数都必须在执行存储过程前注册。

对于用户定义的参数,还应该提供该参数的完全限定 SQL 类型名称,而 REF 参数则要求提供引用类型的完全限定类型名称。不需要类型代码和类型名称信息的 JDBC 驱动程序可以忽略它。不过,为了便于移植,应用程序应该为用户定义的参数和 REF 参数提供这些值。 尽管此方法是供用户定义的参数和 REF 参数使用的,但也可以将其用于注册任何 JDBC 类型的参数。如果参数没有用户定义的类型或 REF 类型,则忽略 typeName 参数。

注:在读取 out 参数的值时,必须使用某个获取方法,该方法的 Java 类型对应于参数的已注册 SQL 类型。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
sqlType - 取自 Types 的一个值
typeName - SQL 结构类型的完全限定名称
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型
从以下版本开始:
1.2
另请参见:
Types

registerOutParameter

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 类型 NUMERICDECIMAL,则应使用接受标度值的那种 registerOutParameter
抛出:
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
Types

registerOutParameter

void registerOutParameter(String parameterName,
                          int sqlType,
                          int scale)
                          throws SQLException
将名为 parameterName 的参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。

sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。

这种形式的 registerOutParameter 应该在参数是 JDBC 类型 NUMERICDECIMAL 时使用。

参数:
parameterName - 参数名
sqlType - 由 java.sql.Types 定义的 SQL 类型代码。
scale - 小数点右边所需的位数。该参数必须大于等于 0。
抛出:
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
Types

registerOutParameter

void registerOutParameter(String parameterName,
                          int sqlType,
                          String typeName)
                          throws SQLException
注册指定的输出参数。这种形式的 registerOutParameter 方法应该用于用户命名的输出参数或 REF 输出参数。用户命名类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。

所有 OUT 参数都必须在执行存储过程前注册。

对于用户命名的参数,还应该提供参数的完全限定 SQL 类型名称,而 REF 参数则要求提供所引用类型的完全限定类型名称。不需要类型代码和类型名称信息的 JDBC 驱动程序可以忽略它。不过,为了便于移植,应用程序应该为用户命名的参数和 REF 参数提供这些值。尽管此方法是供用户命名的参数和 REF 参数使用的,但也可以将其用于注册任何 JDBC 类型的参数。如果参数没有用户命名的类型或 REF 类型,则忽略 typeName 参数。

注:在读取 out 参数的值时,必须使用 getXXX 方法,其 Java 类型 XXX 对应于参数的已注册 SQL 类型。

参数:
parameterName - 参数名
sqlType - 取自 Types 的一个值
typeName - SQL 结构类型的完全限定名称
抛出:
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
Types

getURL

URL getURL(int parameterIndex)
           throws SQLException
java.sql.URL 对象的形式获取指定 JDBC DATALINK 参数的值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
返回:
表示用作指定参数的 JDBC DATALINK 值的 java.net.URL 对象
抛出:
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法,或者将返回的 URL 在 Java 平台上是一个无效 URL
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
setURL(java.lang.String, java.net.URL)

setURL

void setURL(String parameterName,
            URL val)
            throws SQLException
将指定参数设置为给定 java.net.URL 对象。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DATALINK 值。

参数:
parameterName - 参数名
val - 参数值
抛出:
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法,或者 URL 是错误的
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
getURL(int)

setNull

void setNull(String parameterName,
             int sqlType)
             throws SQLException
将指定参数设置为 SQL NULL

注:必须指定参数的 SQL 类型。

参数:
parameterName - 参数名
sqlType - java.sql.Types 中定义的 SQL 类型代码
抛出:
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4

setBoolean

void setBoolean(String parameterName,
                boolean x)
                throws SQLException
将指定参数设置为给定 Java boolean 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BITBOOLEAN 值。

参数:
parameterName - 参数名
x - 参数值
抛出:
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNot