Module java.sql
Package java.sql

Interface CallableStatement

所有超接口:
AutoCloseable, 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>, ...)]}
 

使用从PreparedStatement继承的set方法设置IN参数值。在执行存储过程之前,必须注册所有OUT参数的类型;它们的值在执行后通过此处提供的get方法检索。

CallableStatement可以返回一个ResultSet对象或多个ResultSet对象。使用从Statement继承的操作处理多个ResultSet对象。

为了最大的可移植性,在获取输出参数的值之前应处理调用的ResultSet对象和更新计数。

自版本:
1.1
参见:
  • Method Details

    • registerOutParameter

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

      为OUT参数指定的JDBC类型由sqlType决定,必须在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驱动程序不支持此数据类型
      参见:
    • registerOutParameter

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

      为OUT参数指定的JDBC类型由sqlType决定,必须在get方法中使用相应的Java类型来读取该参数的值。

      当参数是JDBC类型NUMERICDECIMAL时,应使用此版本的registerOutParameter

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

      boolean wasNull() throws SQLException
      检索最后一个读取的OUT参数是否具有SQL NULL的值。请注意,只有在调用getter方法之后才应调用此方法;否则,无法确定它是否为null
      返回值:
      如果最后一个读取的参数是SQL NULL,则返回true;否则返回false
      抛出:
      SQLException - 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
    • getString

      String getString(int parameterIndex) throws SQLException
      检索指定的JDBC CHARVARCHARLONGVARCHAR参数的值作为Java编程语言中的String

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

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getBoolean

      boolean getBoolean(int parameterIndex) throws SQLException
      检索指定的JDBC BITBOOLEAN参数的值作为Java编程语言中的boolean
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为false
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getByte

      byte getByte(int parameterIndex) throws SQLException
      检索指定的JDBC TINYINT参数的值作为Java编程语言中的byte
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getShort

      short getShort(int parameterIndex) throws SQLException
      检索指定的JDBC SMALLINT参数的值作为Java编程语言中的short
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getInt

      int getInt(int parameterIndex) throws SQLException
      检索指定的JDBC INTEGER参数的值作为Java编程语言中的int
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getLong

      long getLong(int parameterIndex) throws SQLException
      检索指定的JDBC BIGINT参数的值作为Java编程语言中的long
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getFloat

      float getFloat(int parameterIndex) throws SQLException
      检索指定的JDBC FLOAT参数的值作为Java编程语言中的float
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getDouble

      double getDouble(int parameterIndex) throws SQLException
      检索指定的JDBC DOUBLE参数的值作为Java编程语言中的double
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getBigDecimal

      @Deprecated(since="1.2") BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
      Deprecated.
      use getBigDecimal(int parameterIndex) or getBigDecimal(String parameterName)
      检索指定的JDBC NUMERIC参数的值作为具有小数点右侧scale位数的java.math.BigDecimal对象。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      scale - 小数点右侧的位数
      返回值:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      参见:
    • getBytes

      byte[] getBytes(int parameterIndex) throws SQLException
      检索指定的JDBC BINARYVARBINARY参数的值作为Java编程语言中的byte值数组。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回值:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getDate

      Date getDate(int parameterIndex) throws SQLException
      检索指定的JDBC DATE参数的值作为java.sql.Date对象。
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQL NULL, the result is null.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed CallableStatement
      See Also:
    • getTime

      Time getTime(int parameterIndex) throws SQLException
      Retrieves the value of the designated JDBC TIME parameter as a java.sql.Time object.
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为SQL NULL,则结果为 null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的 CallableStatement 上调用此方法
      参见:
    • getTimestamp

      Timestamp getTimestamp(int parameterIndex) throws SQLException
      java.sql.Timestamp 对象的形式检索指定的JDBC TIMESTAMP 参数的值。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为SQL NULL,则结果为 null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的 CallableStatement 上调用此方法
      参见:
    • 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 上调用此方法
      参见:
    • getBigDecimal

      BigDecimal getBigDecimal(int parameterIndex) throws SQLException
      java.math.BigDecimal 对象的形式检索指定的JDBC NUMERIC 参数的值,小数点右侧的位数与值包含的位数相同。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      完整精度的参数值。如果值为SQL NULL,则结果为 null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的 CallableStatement 上调用此方法
      自:
      1.2
      参见:
    • 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
      参见:
    • 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编程语言中的 Blob 对象的形式检索指定的JDBC BLOB 参数的值。
      参数:
      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
      以给定的 Calendar 对象构造日期,以Java编程语言中的 java.sql.Date 对象的形式检索指定的JDBC DATE 参数的值。使用 Calendar 对象,驱动程序可以计算日期,考虑自定义时区和区域设置。如果未指定 Calendar 对象,则驱动程序使用默认时区和区域设置。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      cal - 驱动程序将用于构造日期的 Calendar 对象
      返回:
      参数值。如果值为SQL NULL,则结果为 null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的 CallableStatement 上调用此方法
      自:
      1.2
      参见:
    • getTime

      Time getTime(int parameterIndex, Calendar cal) throws SQLException
      以给定的 Calendar 对象构造时间,以Java编程语言中的 java.sql.Time 对象的形式检索指定的JDBC TIME 参数的值。使用 Calendar 对象,驱动程序可以计算时间,考虑自定义时区和区域设置。如果未指定 Calendar 对象,则驱动程序使用默认时区和区域设置。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      cal - 驱动程序将用于构造时间的Calendar对象
      返回:
      参数值;如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      自版本:
      1.2
      参见:
    • getTimestamp

      Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
      使用给定的Calendar对象作为构造Timestamp对象的驱动程序,检索指定的JDBC TIMESTAMP参数的值作为java.sql.Timestamp对象。使用Calendar对象,驱动程序可以根据自定义时区和区域设置计算时间戳。如果未指定Calendar对象,则驱动程序将使用默认时区和区域设置。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      cal - 驱动程序将用于构造时间戳的Calendar对象
      返回:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      自版本:
      1.2
      参见:
    • registerOutParameter

      void registerOutParameter(int parameterIndex, int sqlType, String typeName) throws SQLException
      注册指定的输出参数。应该用于用户定义或REF输出参数的方法registerOutParameter的此版本。用户定义类型的示例包括:STRUCTDISTINCTJAVA_OBJECT和命名数组类型。

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

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

      注意: 在读取输出参数的值时,必须使用其Java类型对应于参数注册的SQL类型的getter方法。

      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      sqlType - 来自Types的值
      typeName - SQL结构化类型的完全限定名称
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型,且JDBC驱动程序不支持此数据类型
      自版本:
      1.2
      参见:
    • registerOutParameter

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

      sqlType指定的JDBC类型用于OUT参数,确定必须在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驱动程序不支持此数据类型
      自版本:
      1.4
      参见:
    • registerOutParameter

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

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

      当参数为JDBC类型NUMERICDECIMAL时,应使用此版本的registerOutParameter

      参数:
      parameterName - 参数的名称
      sqlType - 由java.sql.Types定义的SQL类型代码
      scale - 小数点右侧的所需数字位数。必须大于或等于零。
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型,且JDBC驱动程序不支持此数据类型或如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • registerOutParameter

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

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

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

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

      参数:
      parameterName - 参数的名称
      sqlType - 来自Types的值
      typeName - SQL结构化类型的完全限定名称
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型,且JDBC驱动程序不支持此数据类型或如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • getURL

      URL getURL(int parameterIndex) throws SQLException
      检索指定的JDBC DATALINK参数的值作为java.net.URL对象。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      返回:
      一个java.net.URL对象,表示作为指定参数使用的JDBC DATALINK
      抛出:
      SQLException - 如果parameterIndex无效;如果在关闭的CallableStatement上调用此方法或发生数据库访问错误;或者返回的URL在Java平台上不是有效的URL
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setURL

      void setURL(String parameterName, URL val) throws SQLException
      将指定的参数设置为给定的java.net.URL对象。驱动程序在将其发送到数据库时将其转换为SQL DATALINK值。
      参数:
      parameterName - 参数的名称
      val - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误;在关闭的CallableStatement上调用此方法或URL格式不正确
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • 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上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setByte

      void setByte(String parameterName, byte x) throws SQLException
      将指定的参数设置为给定的Java byte值。驱动程序在将其发送到数据库时将其转换为SQL TINYINT值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setShort

      void setShort(String parameterName, short x) throws SQLException
      将指定的参数设置为给定的Java short值。驱动程序在将其发送到数据库时将其转换为SQL SMALLINT值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setInt

      void setInt(String parameterName, int x) throws SQLException
      将指定的参数设置为给定的Java int值。驱动程序在将其发送到数据库时将其转换为SQL INTEGER值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setLong

      void setLong(String parameterName, long x) throws SQLException
      将指定的参数设置为给定的Java long值。驱动程序在将其发送到数据库时将其转换为SQL BIGINT值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setFloat

      void setFloat(String parameterName, float x) throws SQLException
      将指定的参数设置为给定的Java float值。驱动程序在将其发送到数据库时将其转换为SQL FLOAT值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setDouble

      void setDouble(String parameterName, double x) throws SQLException
      将指定的参数设置为给定的Java double值。驱动程序在将其发送到数据库时将其转换为SQL DOUBLE值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setBigDecimal

      void setBigDecimal(String parameterName, BigDecimal x) throws SQLException
      将指定的参数设置为给定的java.math.BigDecimal值。驱动程序在将其发送到数据库时将其转换为SQL NUMERIC值。
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setString

      void setString(String parameterName, String x) throws SQLException
      将指定的参数设置为给定的Java String值。驱动程序在将其发送到数据库时将其转换为SQL VARCHARLONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR值的限制的大小)。
      参数:
      parameterName - 参数的名称
      x - 参数的值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setBytes

      void setBytes(String parameterName, byte[] x) throws SQLException
      将指定的参数设置为给定的Java字节数组。当驱动程序将其发送到数据库时,它将将其转换为SQL VARBINARYLONGVARBINARY(取决于参数的大小相对于驱动程序对VARBINARY值的限制)。
      参数:
      parameterName - 参数的名称
      x - 参数的值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setDate

      void setDate(String parameterName, Date x) throws SQLException
      将指定的参数设置为给定的java.sql.Date值,使用运行应用程序的虚拟机的默认时区。当驱动程序将其发送到数据库时,它将将其转换为SQL DATE值。
      参数:
      parameterName - 参数的名称
      x - 参数的值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setTime

      void setTime(String parameterName, Time x) throws SQLException
      将指定的参数设置为给定的java.sql.Time值。当驱动程序将其发送到数据库时,它将将其转换为SQL TIME值。
      参数:
      parameterName - 参数的名称
      x - 参数的值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setTimestamp

      void setTimestamp(String parameterName, Timestamp x) throws SQLException
      将指定的参数设置为给定的java.sql.Timestamp值。当驱动程序将其发送到数据库时,它将将其转换为SQL TIMESTAMP值。
      参数:
      parameterName - 参数的名称
      x - 参数的值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setAsciiStream

      void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException
      将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当将非常大的ASCII值输入到LONGVARCHAR参数时,通过java.io.InputStream发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从ASCII到数据库字符格式的任何必要转换。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      x - 包含ASCII参数值的Java输入流
      length - 流中的字节数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
    • setBinaryStream

      void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException
      将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当将非常大的二进制值输入到LONGVARBINARY参数时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      x - 包含二进制参数值的Java输入流
      length - 流中的字节数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
    • setObject

      void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException
      使用给定对象设置指定参数的值。

      在将对象发送到数据库之前,给定的Java对象将转换为给定的targetSqlType。如果对象具有自定义映射(属于实现接口SQLData的类),JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。另一方面,如果对象属于实现RefBlobClobNClobStructjava.net.URLArray的类,驱动程序应将其作为相应SQL类型的值传递给数据库。

      请注意,此方法可用于传递特定于数据库的抽象数据类型。

      参数:
      parameterName - 参数的名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的SQL类型(如java.sql.Types中定义)。scale参数可能进一步限定此类型。
      scale - 对于java.sql.Types.DECIMAL或java.sql.Types.NUMERIC类型,这是小数点后的位数。对于所有其他类型,此值将被忽略。
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
      自版本:
      1.4
      参见:
    • setObject

      void setObject(String parameterName, Object x, int targetSqlType) throws SQLException
      使用给定对象设置指定参数的值。此方法类似于setObject(String parameterName, Object x, int targetSqlType, int scaleOrLength),只是它假定比例为零。
      参数:
      parameterName - 参数的名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的SQL类型(如java.sql.Types中定义)
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
      自版本:
      1.4
      参见:
    • setObject

      void setObject(String parameterName, Object x) throws SQLException
      设置指定参数的值为给定对象。

      JDBC规范指定了Java Object类型到SQL类型的标准映射。给定的参数将在发送到数据库之前转换为相应的SQL类型。

      请注意,此方法可用于通过使用特定于驱动程序的Java类型传递特定于数据库的抽象数据类型。如果对象是实现了接口SQLData的类的实例,则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。另一方面,如果对象是实现了RefBlobClobNClobStructjava.net.URLArray的类的实例,则驱动程序应将其作为相应SQL类型的值传递给数据库。

      如果存在歧义,例如,如果对象是实现了上述多个接口中的一个类的实例,则此方法会抛出异常。

      注意:并非所有数据库都允许将非类型化的Null发送到后端。为了最大的可移植性,应该使用setNullsetObject(String parameterName, Object x, int sqlType)方法,而不是setObject(String parameterName, Object x)

      参数:
      parameterName - 参数的名称
      x - 包含输入参数值的对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果在关闭的CallableStatement上调用此方法或给定的Object参数存在歧义
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setCharacterStream

      void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException
      将指定参数设置为给定的Reader对象,该对象具有给定的字符长度。当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。

      注意:此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      reader - 包含作为指定参数使用的UNICODE数据的java.io.Reader对象
      length - 流中的字符数
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
    • setDate

      void setDate(String parameterName, Date x, Calendar cal) throws SQLException
      使用给定的Calendar对象将指定参数设置为给定的java.sql.Date值。驱动程序使用Calendar对象构造SQL DATE值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算日期。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。
      参数:
      parameterName - 参数的名称
      x - 参数值
      cal - 驱动程序将用于构造日期的Calendar对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setTime

      void setTime(String parameterName, Time x, Calendar cal) throws SQLException
      使用给定的Calendar对象将指定参数设置为给定的java.sql.Time值。驱动程序使用Calendar对象构造SQL TIME值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算时间。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。
      参数:
      parameterName - 参数的名称
      x - 参数值
      cal - 驱动程序将用于构造时间的Calendar对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setTimestamp

      void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException
      使用给定的Calendar对象将指定参数设置为给定的java.sql.Timestamp值。驱动程序使用Calendar对象构造SQL TIMESTAMP值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算时间戳。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。
      参数:
      parameterName - 参数的名称
      x - 参数值
      cal - 驱动程序将用于构造时间戳的Calendar对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • setNull

      void setNull(String parameterName, int sqlType, String typeName) throws SQLException
      将指定参数设置为SQL NULL。此版本的setNull方法应用于用户定义类型和REF类型参数。用户定义类型的示例包括:STRUCT、DISTINCT、JAVA_OBJECT和命名数组类型。

      注意:为了可移植,应用程序在指定NULL用户定义或REF参数时必须提供SQL类型代码和完全限定的SQL类型名称。对于用户定义类型,名称是参数本身的类型名称。对于REF参数,名称是引用类型的类型名称。

      尽管此方法旨在用于用户定义和Ref参数,但可以用于设置任何JDBC类型的空参数。如果参数没有用户定义或REF类型,则给定的typeName将被忽略。

      参数:
      parameterName - 参数的名称
      sqlType - 来自java.sql.Types的值
      typeName - SQL用户定义类型的完全限定名称;如果参数不是用户定义类型或SQL REF值,则忽略
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
    • getString

      String getString(String parameterName) throws SQLException
      以Java编程语言中的String形式检索JDBC CHARVARCHARLONGVARCHAR参数的值。

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

      参数:
      parameterName - 参数的名称
      返回:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • getBoolean

      boolean getBoolean(String parameterName) throws SQLException
      以Java编程语言中的boolean形式检索JDBC BITBOOLEAN参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为false
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getByte

      byte getByte(String parameterName) throws SQLException
      以Java编程语言中的byte形式检索JDBC TINYINT参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getShort

      short getShort(String parameterName) throws SQLException
      以Java编程语言中的short形式检索JDBC SMALLINT参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getInt

      int getInt(String parameterName) throws SQLException
      以Java编程语言中的int形式检索JDBC INTEGER参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getLong

      long getLong(String parameterName) throws SQLException
      以Java编程语言中的long形式检索JDBC BIGINT参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getFloat

      float getFloat(String parameterName) throws SQLException
      以Java编程语言中的float形式检索JDBC FLOAT参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getDouble

      double getDouble(String parameterName) throws SQLException
      以Java编程语言中的double形式检索JDBC DOUBLE参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为0
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getBytes

      byte[] getBytes(String parameterName) throws SQLException
      以Java编程语言中的byte值数组形式检索JDBC BINARYVARBINARY参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getDate

      Date getDate(String parameterName) throws SQLException
      java.sql.Date对象形式检索JDBC DATE参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getTime

      Time getTime(String parameterName) throws SQLException
      java.sql.Time对象形式检索JDBC TIME参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getTimestamp

      Timestamp getTimestamp(String parameterName) throws SQLException
      java.sql.Timestamp对象形式检索JDBC TIMESTAMP参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      参数的值。如果值为SQL NULL,则结果为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getObject

      Object getObject(String parameterName) throws SQLException
      检索Java编程语言中参数的值作为Object。如果值是SQL NULL,则驱动程序返回Java null

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

      参数:
      parameterName - 参数的名称
      返回:
      一个包含OUT参数值的java.lang.Object
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
      参见:
    • getBigDecimal

      BigDecimal getBigDecimal(String parameterName) throws SQLException
      将JDBC NUMERIC参数的值作为java.math.BigDecimal对象检索,小数点右侧的位数与值包含的位数相同。
      参数:
      parameterName - 参数的名称
      返回:
      完整精度的参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
      参见:
    • getObject

      Object getObject(String parameterName, Map<String,Class<?>> map) throws SQLException
      返回表示OUT参数parameterName值的对象,并使用map进行参数值的自定义映射。

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

      参数:
      parameterName - 参数的名称
      map - 从SQL类型名称到Java类的映射
      返回:
      一个包含OUT参数值的java.lang.Object
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
      参见:
    • getRef

      Ref getRef(String parameterName) throws SQLException
      将JDBC REF(<structured-type>)参数的值作为Java编程语言中的Ref对象检索。
      参数:
      parameterName - 参数的名称
      返回:
      参数值作为Java编程语言中的Ref对象。如果值为SQL NULL,则返回值null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
    • getBlob

      Blob getBlob(String parameterName) throws SQLException
      将JDBC BLOB参数的值作为Java编程语言中的Blob对象检索。
      参数:
      parameterName - 参数的名称
      返回:
      参数值作为Java编程语言中的Blob对象。如果值为SQL NULL,则返回值null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
    • getClob

      Clob getClob(String parameterName) throws SQLException
      将JDBC CLOB参数的值作为Java编程语言中的java.sql.Clob对象检索。
      参数:
      parameterName - 参数的名称
      返回:
      参数值作为Java编程语言中的Clob对象。如果值为SQL NULL,则返回值null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
    • getArray

      Array getArray(String parameterName) throws SQLException
      将JDBC ARRAY参数的值作为Java编程语言中的Array对象检索。
      参数:
      parameterName - 参数的名称
      返回:
      参数值作为Java编程语言中的Array对象。如果值为SQL NULL,则返回值null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
    • getDate

      Date getDate(String parameterName, Calendar cal) throws SQLException
      将JDBC DATE参数的值作为java.sql.Date对象检索,使用给定的Calendar对象构造日期。使用Calendar对象,驱动程序可以根据自定义时区和区域设置计算日期。如果未指定Calendar对象,则驱动程序使用默认时区和区域设置。
      参数:
      parameterName - 参数的名称
      cal - 驱动程序将用于构造日期的Calendar对象
      返回:
      参数值。如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
      参见:
    • getTime

      Time getTime(String parameterName, Calendar cal) throws SQLException
      将JDBC TIME参数的值作为java.sql.Time对象检索,使用给定的Calendar对象构造时间。使用Calendar对象,驱动程序可以根据自定义时区和区域设置计算时间。如果未指定Calendar对象,则驱动程序使用默认时区和区域设置。
      参数:
      parameterName - 参数的名称
      cal - 驱动程序将用于构造时间的Calendar对象
      返回:
      参数值;如果值为SQL NULL,结果为null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.4
      参见:
    • getTimestamp

      Timestamp getTimestamp(String parameterName, Calendar cal) throws SQLException
      将JDBC TIMESTAMP参数的值作为java.sql.Timestamp对象检索,使用给定的Calendar对象构造Timestamp对象。使用Calendar对象,驱动程序可以根据自定义时区和区域设置计算时间戳。如果未指定Calendar对象,则驱动程序使用默认时区和区域设置。
      参数:
      parameterName - 参数的名称
      cal - 驱动程序将用来构造时间戳的Calendar对象
      返回:
      参数值。如果值为SQL NULL,则结果为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • getURL

      URL getURL(String parameterName) throws SQLException
      java.net.URL对象的形式检索JDBC DATALINK参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      以Java编程语言中java.net.URL对象的形式返回参数值。如果值为SQL NULL,则返回值为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法,或URL存在问题
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.4
      参见:
    • getRowId

      RowId getRowId(int parameterIndex) throws SQLException
      java.sql.RowId对象的形式检索指定的JDBC ROWID参数的值。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      返回:
      代表JDBC ROWID值的RowId对象被用作指定的参数。如果参数包含SQL NULL,则返回一个null值。
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • getRowId

      RowId getRowId(String parameterName) throws SQLException
      java.sql.RowId对象的形式检索指定的JDBC ROWID参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      代表JDBC ROWID值的RowId对象被用作指定的参数。如果参数包含SQL NULL,则返回一个null值。
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setRowId

      void setRowId(String parameterName, RowId x) throws SQLException
      将指定的参数设置为给定的java.sql.RowId对象。驱动程序在将其发送到数据库时将其转换为SQL ROWID
      参数:
      parameterName - 参数的名称
      x - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNString

      void setNString(String parameterName, String value) throws SQLException
      将指定的参数设置为给定的String对象。驱动程序将其转换为SQL NCHARNVARCHARLONGNVARCHAR
      参数:
      parameterName - 要设置的参数的名称
      value - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNCharacterStream

      void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException
      将指定的参数设置为Reader对象。Reader读取数据直到达到文件末尾。驱动程序将Java字符格式转换为数据库中的国家字符集。
      参数:
      parameterName - 要设置的参数的名称
      value - 参数值
      length - 参数数据中的字符数。
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNClob

      void setNClob(String parameterName, NClob value) throws SQLException
      将指定的参数设置为java.sql.NClob对象。该对象实现java.sql.NClob接口。此NClob对象映射到SQL NCLOB
      参数:
      parameterName - 要设置的参数的名称
      value - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setClob

      void setClob(String parameterName, Reader reader, long length) throws SQLException
      将指定的参数设置为Reader对象。reader必须包含由长度指定的字符数,否则在执行CallableStatement时将生成SQLException。此方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序应将参数值作为CLOB发送到服务器。使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGVARCHAR还是CLOB发送到服务器
      参数:
      parameterName - 要设置的参数的名称
      reader - 包含要设置参数值的数据的对象
      length - 参数数据中的字符数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果指定的长度小于零;发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setBlob

      void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException
      将指定的参数设置为InputStream对象。Inputstream必须包含由长度指定的字符数,否则在执行CallableStatement时将生成SQLException。此方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序应将参数值作为BLOB发送到服务器。使用setBinaryStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGVARBINARY还是BLOB发送到服务器
      参数:
      parameterName - 要设置的参数的名称,第二个为2,...
      inputStream - 包含要设置参数值的数据的对象
      length - 参数数据中的字节数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果指定的长度小于零;如果InputStream中的字节数与指定的长度不匹配;发生数据库访问错误,或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNClob

      void setNClob(String parameterName, Reader reader, long length) throws SQLException
      将指定的参数设置为Reader对象。 reader必须包含长度指定的字符数,否则在执行CallableStatement时将生成SQLException。 此方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序应将参数值作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGNVARCHAR还是NCLOB发送到服务器。
      参数:
      parameterName - 要设置的参数的名称
      reader - 包含要设置参数值的数据的对象。
      length - 参数数据中的字符数。
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果指定的长度小于零;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getNClob

      NClob getNClob(int parameterIndex) throws SQLException
      以Java编程语言中的java.sql.NClob对象形式检索指定的JDBC NCLOB参数的值。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      作为Java编程语言中NClob对象的参数值。如果值为SQL NULL,则返回值为null
      抛出:
      SQLException - 如果parameterIndex无效;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getNClob

      NClob getNClob(String parameterName) throws SQLException
      以Java编程语言中的java.sql.NClob对象形式检索JDBC NCLOB参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      作为Java编程语言中NClob对象的参数值。如果值为SQL NULL,则返回值为null
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • setSQLXML

      void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException
      将指定的参数设置为给定的java.sql.SQLXML对象。 驱动程序在将其发送到数据库时将其转换为SQL XML值。
      参数:
      parameterName - 参数的名称
      xmlObject - 映射SQL XML值的SQLXML对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误;在关闭的CallableStatement上调用此方法或java.xml.transform.ResultWriterOutputStream未为SQLXML对象关闭
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getSQLXML

      SQLXML getSQLXML(int parameterIndex) throws SQLException
      以Java编程语言中的java.sql.SQLXML对象形式检索指定的SQL XML参数的值。
      参数:
      parameterIndex - 第一个参数的索引为1,第二个为2,...
      返回:
      映射SQL XML值的SQLXML对象
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getSQLXML

      SQLXML getSQLXML(String parameterName) throws SQLException
      以Java编程语言中的java.sql.SQLXML对象形式检索指定的SQL XML参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      映射SQL XML值的SQLXML对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getNString

      String getNString(int parameterIndex) throws SQLException
      以Java编程语言中的String形式检索指定的NCHARNVARCHARLONGNVARCHAR参数的值。

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

      参数:
      parameterIndex - 第一个参数的索引为1,第二个为2,...
      返回:
      映射NCHARNVARCHARLONGNVARCHAR值的String对象
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
      另请参阅:
    • getNString

      String getNString(String parameterName) throws SQLException
      以Java编程语言中的String形式检索指定的NCHARNVARCHARLONGNVARCHAR参数的值。

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

      参数:
      parameterName - 参数的名称
      返回:
      映射NCHARNVARCHARLONGNVARCHAR值的String对象
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
      另请参阅:
    • getNCharacterStream

      Reader getNCharacterStream(int parameterIndex) throws SQLException
      以Java编程语言中的java.io.Reader对象形式检索指定参数的值。 在访问NCHARNVARCHARLONGNVARCHAR参数时使用。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      返回:
      包含参数值的java.io.Reader对象;如果值为SQL NULL,则在Java编程语言中返回值为null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自:
      1.6
    • getNCharacterStream

      Reader getNCharacterStream(String parameterName) throws SQLException
      以Java编程语言中的java.io.Reader对象形式检索指定参数的值。 在访问NCHARNVARCHARLONGNVARCHAR参数时使用。
      参数:
      parameterName - 参数的名称
      返回:
      一个包含参数值的java.io.Reader对象;如果值为SQL NULL,则在Java编程语言中返回的值为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • getCharacterStream

      Reader getCharacterStream(int parameterIndex) throws SQLException
      以Java编程语言中的java.io.Reader对象的形式检索指定参数的值。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      返回:
      一个包含参数值的java.io.Reader对象;如果值为SQL NULL,则在Java编程语言中返回的值为null
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      自1.6版本起:
      1.6
    • getCharacterStream

      Reader getCharacterStream(String parameterName) throws SQLException
      以Java编程语言中的java.io.Reader对象的形式检索指定参数的值。
      参数:
      parameterName - 参数的名称
      返回:
      一个包含参数值的java.io.Reader对象;如果值为SQL NULL,则在Java编程语言中返回的值为null
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setBlob

      void setBlob(String parameterName, Blob x) throws SQLException
      将指定参数设置为给定的java.sql.Blob对象。当驱动程序将其发送到数据库时,将其转换为SQL BLOB值。
      参数:
      parameterName - 参数的名称
      x - 映射SQL BLOB值的Blob对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setClob

      void setClob(String parameterName, Clob x) throws SQLException
      将指定参数设置为给定的java.sql.Clob对象。当驱动程序将其发送到数据库时,将其转换为SQL CLOB值。
      参数:
      parameterName - 参数的名称
      x - 映射SQL CLOB值的Clob对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setAsciiStream

      void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException
      将指定参数设置为给定的输入流,该输入流将具有指定的字节数。当向LONGVARCHAR参数输入非常大的ASCII值时,通过java.io.InputStream发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从ASCII到数据库字符格式的任何必要转换。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      x - 包含ASCII参数值的Java输入流
      length - 流中的字节数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setBinaryStream

      void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException
      将指定参数设置为给定的输入流,该输入流将具有指定的字节数。当向LONGVARBINARY参数输入非常大的二进制值时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      x - 包含二进制参数值的Java输入流
      length - 流中的字节数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setCharacterStream

      void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException
      将指定参数设置为给定的Reader对象,该对象具有给定的字符数。当向LONGVARCHAR参数输入非常大的UNICODE值时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      参数:
      parameterName - 参数的名称
      reader - 包含作为指定参数使用的UNICODE数据的java.io.Reader对象
      length - 流中的字符数
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setAsciiStream

      void setAsciiStream(String parameterName, InputStream x) throws SQLException
      将指定参数设置为给定的输入流。当向LONGVARCHAR参数输入非常大的ASCII值时,通过java.io.InputStream发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从ASCII到数据库字符格式的任何必要转换。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setAsciiStream版本。

      参数:
      parameterName - 参数的名称
      x - 包含ASCII参数值的Java输入流
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setBinaryStream

      void setBinaryStream(String parameterName, InputStream x) throws SQLException
      将指定参数设置为给定的输入流。当向LONGVARBINARY参数输入非常大的二进制值时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。

      注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setBinaryStream版本。

      参数:
      parameterName - 参数的名称
      x - 包含二进制参数值的Java输入流
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自1.6版本起:
      1.6
    • setCharacterStream

      void setCharacterStream(String parameterName, Reader reader) throws SQLException
      将指定的参数设置为给定的Reader对象。当向LONGVARCHAR参数输入非常大的UNICODE值时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。

      注意:此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      注意:请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setCharacterStream版本。

      参数:
      parameterName - 参数的名称
      reader - 包含Unicode数据的java.io.Reader对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNCharacterStream

      void setNCharacterStream(String parameterName, Reader value) throws SQLException
      将指定的参数设置为Reader对象。 Reader读取数据直到达到文件结尾。驱动程序将执行从Java字符格式到数据库中的国家字符集的必要转换。

      注意:此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。

      注意:请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setNCharacterStream版本。

      参数:
      parameterName - 参数的名称
      value - 参数值
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setClob

      void setClob(String parameterName, Reader reader) throws SQLException
      将指定的参数设置为Reader对象。此方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGVARCHAR还是CLOB发送到服务器。

      注意:请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setClob版本。

      参数:
      parameterName - 参数的名称
      reader - 包含要设置参数值的数据的对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setBlob

      void setBlob(String parameterName, InputStream inputStream) throws SQLException
      将指定的参数设置为InputStream对象。此方法与setBinaryStream (int, InputStream)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。当使用setBinaryStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGVARBINARY还是BLOB发送到服务器。

      注意:请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setBlob版本。

      参数:
      parameterName - 参数的名称
      inputStream - 包含要设置参数值的数据的对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • setNClob

      void setNClob(String parameterName, Reader reader) throws SQLException
      将指定的参数设置为Reader对象。此方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应该作为LONGNVARCHAR还是NCLOB发送到服务器。

      注意:请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的setNClob版本。

      参数:
      parameterName - 参数的名称
      reader - 包含要设置参数值的数据的对象
      抛出:
      SQLException - 如果parameterName不对应命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.6
    • getObject

      <T> T getObject(int parameterIndex, Class<T> type) throws SQLException
      返回表示OUT参数parameterIndex值的对象,并将其从参数的SQL类型转换为请求的Java数据类型,如果支持转换。如果不支持转换或类型为null,则抛出SQLException

      至少,实现必须支持附录B,表B-3中定义的转换以及适当用户定义的SQL类型到实现SQLDataStruct的Java类型的转换。可能支持其他转换,这是供应商定义的。

      类型参数:
      T - 由此Class对象建模的类的类型
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      type - 表示要将指定参数转换为的Java数据类型的Class
      返回:
      一个持有OUT参数值的type实例
      抛出:
      SQLException - 如果不支持转换,类型为null或发生其他错误。异常的getCause()方法可能提供更详细的异常,例如,如果发生转换错误
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.7
    • getObject

      <T> T getObject(String parameterName, Class<T> type) throws SQLException
      返回表示OUT参数parameterName值的对象,并将其从参数的SQL类型转换为请求的Java数据类型,如果支持转换。如果不支持转换或类型为null,则抛出SQLException

      至少,实现必须支持附录B,表B-3中定义的转换以及适当用户定义的SQL类型到实现SQLDataStruct的Java类型的转换。可能支持其他转换,这是供应商定义的。

      类型参数:
      T - 由此Class对象建模的类的类型
      参数:
      parameterName - 参数的名称
      type - 表示要将指定参数转换为的Java数据类型的Class
      返回:
      一个持有OUT参数值的type实例
      抛出:
      SQLException - 如果不支持转换,类型为null或发生其他错误。异常的getCause()方法可能提供更详细的异常,例如,如果发生转换错误
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      自版本:
      1.7
    • setObject

      default void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException
      使用给定对象设置指定参数的值。如果第二个参数是InputStream,则流必须包含由scaleOrLength指定的字节数。如果第二个参数是Reader,则读取器必须包含由scaleOrLength指定的字符数。如果这些条件不成立,当执行准备好的语句时,驱动程序将生成SQLException

      给定的Java对象将在发送到数据库之前转换为给定的targetSqlType。如果对象具有自定义映射(属于实现SQLData接口的类),JDBC驱动程序应调用SQLData.writeSQL方法将其写入SQL数据流。另一方面,如果对象属于实现RefBlobClobNClobStructjava.net.URLArray的类,则驱动程序应将其作为相应SQL类型的值传递给数据库。

      请注意,此方法可用于传递特定于数据库的抽象数据类型。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterName - 参数的名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的SQL类型。scale参数可能进一步限定此类型。
      scaleOrLength - 对于java.sql.JDBCType.DECIMALjava.sql.JDBCType.NUMERIC types,这是小数点后的位数。对于Java对象类型InputStreamReader,这是流或读取器中数据的长度。对于所有其他类型,此值将被忽略。
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法,或者如果x指定的Java对象是InputStream或Reader对象且scale参数的值小于零
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
      自版本:
      1.8
      参见:
    • setObject

      default void setObject(String parameterName, Object x, SQLType targetSqlType) throws SQLException
      设置具有给定对象的指定参数的值。此方法类似于setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength),只是它假定比例为零。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterName - 参数的名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的SQL类型
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
      自版本:
      1.8
      参见:
    • registerOutParameter

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

      为OUT参数指定的JDBC类型决定了必须在get方法中使用的Java类型来读取该参数的值。

      如果预期返回给此输出参数的JDBC类型特定于此特定数据库,则sqlType可能是JDBCType.OTHER或JDBC驱动程序支持的SQLType。方法getObject(int)检索值。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数。如果参数是JDBC类型JDBCType.NUMERICJDBCType.DECIMAL,应使用接受比例值的registerOutParameter版本。
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
      自版本:
      1.8
      参见:
    • registerOutParameter

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

      为OUT参数指定的JDBC类型决定了必须在get方法中使用的Java类型来读取该参数的值。

      当参数是JDBC类型JDBCType.NUMERICJDBCType.DECIMAL时,应使用此版本的registerOutParameter

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数
      scale - 小数点右侧的期望数字位数。必须大于或等于零。
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
      自版本:
      1.8
      参见:
    • registerOutParameter

      default void registerOutParameter(int parameterIndex, SQLType sqlType, String typeName) throws SQLException
      注册指定的输出参数。此方法的版本应用于用户定义或REF输出参数。用户定义类型的示例包括:STRUCTDISTINCTJAVA_OBJECT和命名数组类型。

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

      对于用户定义参数,还应提供参数的完全限定SQL类型名称,而REF参数要求给出所引用类型的完全限定类型名称。不需要类型代码和类型名称信息的JDBC驱动程序可能会忽略它。但是,为了可移植性,应用程序应始终为用户定义和REF参数提供这些值。尽管此方法旨在用户定义和REF参数,但可用于注册任何JDBC类型的参数。如果参数没有用户定义或REF类型,则typeName参数将被忽略。

      注意: 在读取out参数的值时,必须使用其Java类型对应的getter方法。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterIndex - 第一个参数为1,第二个为2,...
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数
      typeName - SQL结构化类型的完全限定名称
      抛出:
      SQLException - 如果parameterIndex无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
      自版本:
      1.8
      参见:
    • registerOutParameter

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

      为OUT参数指定的JDBC类型决定了必须在get方法中使用的Java类型来读取该参数的值。

      如果预期返回给此输出参数的JDBC类型特定于此特定数据库,则sqlType应为JDBCType.OTHER或JDBC驱动程序支持的SQLType。方法getObject(int)检索值。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterName - 参数的名称
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数。如果参数是JDBC类型JDBCType.NUMERICJDBCType.DECIMAL,应使用接受比例值的registerOutParameter版本。
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或如果JDBC驱动程序不支持此方法
      自版本:
      1.8
      参见:
    • registerOutParameter

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

      为OUT参数指定的JDBC类型sqlType确定了在get方法中必须使用的Java类型来读取该参数的值。

      当参数为JDBC类型JDBCType.NUMERICJDBCType.DECIMAL时,应使用此版本的registerOutParameter

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterName - 参数的名称
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数。
      scale - 小数点右侧所需的位数。必须大于或等于零。
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或JDBC驱动程序不支持此方法
      自版本:
      1.8
      参见:
    • registerOutParameter

      default void registerOutParameter(String parameterName, SQLType sqlType, String typeName) throws SQLException
      注册指定的输出参数。应使用此方法的版本registerOutParameter用于用户命名或REF输出参数。用户命名类型的示例包括:STRUCT、DISTINCT、JAVA_OBJECT和命名数组类型。

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

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

      注意: 在读取out参数的值时,必须使用与参数注册的SQL类型相对应的getXXX方法。

      默认实现将抛出SQLFeatureNotSupportedException

      参数:
      parameterName - 参数的名称
      sqlType - 由SQLType定义的JDBC类型代码,用于注册OUT参数。
      typeName - SQL结构化类型的完全限定名称
      抛出:
      SQLException - 如果parameterName不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或JDBC驱动程序不支持此方法
      自版本:
      1.8
      参见: