• 相关软件
    >CallableStatement 创建者:webmaster 更新时间:2005-12-17 01:45

    CallableStatement 用于执行 SQL 存储过程。

    JDBC 提供了一个存储过程 SQL escape,它允许以所有 RDBMS 的标准方式调用存储过程。该 escape 语法具有一个包含结果参数的格式和一个不包含结果参数的格式。如果使用结果参数,它必须被注册为一个 OUT 参数。其它的参数可以用于输入、输出或同时用于两者。参数通过编号被顺序的引用。第一个参数是 1。

    {?= call [,, ...]}
    {call [,, ...]}

    用从 PreparedStatement 继承的设置方法设置 IN 参数。所有 OUT 参数的类型必须在执行该存储过程之前注册;执行后的参数值用该类提供的 get 方法获得。

    Callable 语句可能返回一个 ResultSet 或多个 ResultSet。多 ResultSets 由从 Statement 继承的操作处理。

    为了最大的限度的可移植性,调用的 ResultSet 和修改次数必须在获得输出参数值之前处理。

    接口 java.sql.CallableStatement

    public interface CallableStatement
    extends PreparedStatement
    参见:
    prepareCall, ResultSet

    方法索引

    getBigDecimal(int, int)
    获得一个 NUMERIC 参数的值,作为一个 java.math.BigDecimal 对象。
    getBoolean(int)
    获得一个 BIT 参数的值,作为一个 Java boolean。
    getByte(int)
    获得一个 TINYINT 参数的值,作为一个 Java byte。
    getBytes(int)
    获得一个 SQL BINARY 或 VARBINARY 参数的值,作为一个 Java byte []。
    getDate(int)
    获得一个 SQL DATE 参数的值,作为一个 java.sql.Date 对象。
    getDouble(int)
    获得一个 DOUBLE 参数的值,作为一个 Java double。
    getFloat(int)
    获得一个 FLOAT 参数的值,作为一个 Java float。
    getInt(int)
    获得一个 INTEGER 参数的值,作为一个 Java int。
    getLong(int)
    获得一个 BIGINT 参数的值,作为一个 Java long。
    getObject(int)
    获得一个参数的值,作为一个 Java object。
    getShort(int)
    获得一个 SMALLINT 参数的值,作为一个 Java short。
    getString(int)
    获得一个 CHAR、VARCHAR 或 LONGVARCHAR 参数的值,作为一个 Java String。
    getTime(int)
    获得一个 SQL TIME 参数的值,作为一个 java.sql.Time 对象。
    getTimestamp(int)
    获得一个 SQL TIMESTAMP 参数的值,作为一个 java.sql.Timestamp 对象。
    registerOutParameter(int, int)
    在执行存储过程调用之前,必须显式的调用 registerOutParameter 为每个输出参数的 java.sql.Type 进行注册。
    registerOutParameter(int, int, int)
    使用 registerOutParameter 的这个版本为 Numeric 或 Decimal 输出参数注册。
    wasNull()
    一个 OUT 参数可能的值是 SQL NULL ;wasNull 报告最后读的值是否为这个特殊的值。

    方法

    registerOutParameter
     public abstract void registerOutParameter(int parameterIndex,
                                  int sqlType) throws SQLException
    
    在执行存储过程调用之前,必须显式的调用 registerOutParameter 为每个输出参数的 java.sql.Type 进行注册。

    注意: 当读取一个输出参数的值时,必须使用 getXXX 方法,它的 Java 类型 XXX 与该参数注册的 SQL 类型相应。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    sqlType - 由 java.sql.Types 决定的 SQL 类型代码;对于 Numeric 或 Decimal 类型的参数使用可以接受小数位数的 registerOutParameter 版本。
    抛出: SQLException
    如果发生了数据访问错误。
    参见:
    Type
    registerOutParameter
     public abstract void registerOutParameter(int parameterIndex,
                                               int sqlType,
                                              int scale) throws SQLException
    
    使用 registerOutParameter 的这个版本为 Numeric 或 Decimal 输出参数注册。

    注意: 当读取一个输出参数的值时,必须使用 getXXX 方法,它的 Java 类型 XXX 与该参数注册的 SQL 类型相应。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    sqlType - 使用 java.sql.Type.NUMERIC 或 java.sql.Type.DECIMAL
    scale - 一个大于等于零的值,表示期望的小数点右边数字的数目
    抛出: SQLException
    如果发生了数据访问错误。
    参见:
    Type
    wasNull
     public abstract boolean wasNull() throws SQLException
    
    一个 OUT 参数可能的值是 SQL NULL ;wasNull 报告最后读的值是否为这个特殊的值。

    注意:必须首先对一个参数调用 getXXX 方法读取它的值,然后调用 wasNull() 方法检查该值是否为 SQL NULL。

    返回值:
    如果读的最后的参数为 SQL NULL 则为 true
    抛出: SQLException
    如果发生了数据访问错误。
    getString
     public abstract String getString(int parameterIndex) throws SQLException
    
    获得一个 CHAR、VARCHAR 或 LONGVARCHAR 参数的值,作为一个 Java String。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getBoolean
     public abstract boolean getBoolean(int parameterIndex) throws SQLException
    
    获得一个 BIT 参数的值,作为一个 Java boolean。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 false
    抛出: SQLException
    如果发生了数据访问错误。
    getByte
     public abstract byte getByte(int parameterIndex) throws SQLException
    
    获得一个 TINYINT 参数的值,作为一个 Java byte。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getShort
     public abstract short getShort(int parameterIndex) throws SQLException
    
    获得一个 SMALLINT 参数的值,作为一个 Java short。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getInt
     public abstract int getInt(int parameterIndex) throws SQLException
    
    获得一个 INTEGER 参数的值,作为一个 Java int。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getLong
     public abstract long getLong(int parameterIndex) throws SQLException
    
    获得一个 BIGINT 参数的值,作为一个 Java long。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getFloat
     public abstract float getFloat(int parameterIndex) throws SQLException
    
    获得一个 FLOAT 参数的值,作为一个 Java float。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getDouble
     public abstract double getDouble(int parameterIndex) throws SQLException
    
    获得一个 DOUBLE 参数的值,作为一个 Java double。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 0
    抛出: SQLException
    如果发生了数据访问错误。
    getBigDecimal
     public abstract BigDecimal getBigDecimal(int parameterIndex,
                                              int scale) throws SQLException
    
    获得一个 NUMERIC 参数的值,作为一个 java.math.BigDecimal 对象。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    scale - 一个大于等于零的值,表示期望的小数点右边数字的数目
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getBytes
     public abstract byte[] getBytes(int parameterIndex) throws SQLException
    
    获得一个 SQL BINARY 或 VARBINARY 参数的值,作为一个 Java byte []。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getDate
     public abstract Date getDate(int parameterIndex) throws SQLException
    
    获得一个 SQL DATE 参数的值,作为一个 java.sql.Date 对象。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getTime
     public abstract Time getTime(int parameterIndex) throws SQLException
    
    获得一个 SQL TIME 参数的值,作为一个 java.sql.Time 对象。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getTimestamp
     public abstract Timestamp getTimestamp(int parameterIndex) throws SQLException
    
    获得一个 SQL TIMESTAMP 参数的值,作为一个 java.sql.Timestamp 对象。

    参数:
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
    返回值:
    参数值;如果该值是 SQL NULL 则结果为 null
    抛出: SQLException
    如果发生了数据访问错误。
    getObject
     public abstract Object getObject(int parameterIndex) throws SQLException
    
    获得一个参数的值,作为一个 Java object。

    该方法返回一个 Java 对象,它的类型与用 SQL 类型相应,该 SQL 类型是用 registerOutParameter 为该参数注册的类型。

    注意该方法可以用于读数据库特定的抽象数据类型。 可以指定一个 java.sql.types.OTHER 的 targetSqlType 进行读取,该类型允许驱动程序返回一个数据库特定的 Java 类型。

    参数:
    parameterIndex - 第一个参数是 1, 第二个参数是 2, ...
    返回值:
    保持该 OUT 参数值的 java.lang.Object。
    抛出: SQLException
    如果发生了数据访问错误。
    参见:
    Types
    相关文章
    本页查看次数: