Module java.sql
Package java.sql

Interface CallableStatement

All Superinterfaces:
AutoCloseable,PreparedStatement,Statement,Wrapper

public interfaceCallableStatementextendsPreparedStatement
The interface used to execute SQL stored procedures. The JDBC API provides a stored procedure SQL escape syntax that allows stored procedures to be called in a standard way for all RDBMSs. This escape syntax has one form that includes a result parameter and one that does not. If used, the result parameter must be registered as an OUT parameter. The other parameters can be used for input, output or both. Parameters are referred to sequentially, by number, with the first parameter being 1.
   {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}   {call <procedure-name>[(<arg1>,<arg2>, ...)]}

IN parameter values are set using theset methods inherited fromPreparedStatement. The type of all OUT parameters must be registered prior to executing the stored procedure; their values are retrieved after execution via theget methods provided here.

ACallableStatement can return oneResultSet object or multipleResultSet objects. MultipleResultSet objects are handled using operations inherited fromStatement.

For maximum portability, a call'sResultSet objects and update counts should be processed prior to getting the values of output parameters.

Since:
1.1
See Also:
  • Method Details

    • registerOutParameter

      void registerOutParameter(int parameterIndex, int sqlType) throwsSQLException
      Registers the OUT parameter in ordinal positionparameterIndex to the JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      If the JDBC type expected to be returned to this output parameter is specific to this particular database,sqlType should bejava.sql.Types.OTHER. The methodgetObject(int) retrieves the value.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      sqlType - the JDBC type code defined byjava.sql.Types. If the parameter is of JDBC typeNUMERIC orDECIMAL, the version ofregisterOutParameter that accepts a scale value should be used.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type
      See Also:
    • registerOutParameter

      void registerOutParameter(int parameterIndex, int sqlType, int scale) throwsSQLException
      Registers the parameter in ordinal positionparameterIndex to be of JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      This version ofregisterOutParameter should be used when the parameter is of JDBC typeNUMERIC orDECIMAL.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      sqlType - the SQL type code defined byjava.sql.Types.
      scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type
      See Also:
    • wasNull

      boolean wasNull() throwsSQLException
      Retrieves whether the last OUT parameter read had the value of SQLNULL. Note that this method should be called only after calling a getter method; otherwise, there is no value to use in determining whether it isnull or not.
      Returns:
      true if the last parameter read was SQLNULL;false otherwise
      Throws:
      SQLException - if a database access error occurs or this method is called on a closedCallableStatement
    • getString

      String getString(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCCHAR,VARCHAR, orLONGVARCHAR parameter as aString in the Java programming language.

      For the fixed-length type JDBCCHAR, theString object returned has exactly the same value the SQLCHAR value had in the database, including any padding added by the database.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getBoolean

      boolean getBoolean(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCBIT orBOOLEAN parameter as aboolean in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isfalse.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getByte

      byte getByte(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCTINYINT parameter as abyte in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getShort

      short getShort(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCSMALLINT parameter as ashort in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getInt

      int getInt(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCINTEGER parameter as anint in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getLong

      long getLong(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCBIGINT parameter as along in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getFloat

      float getFloat(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCFLOAT parameter as afloat in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getDouble

      double getDouble(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCDOUBLE parameter as adouble in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getBigDecimal

      @Deprecated(since="1.2")BigDecimal getBigDecimal(int parameterIndex, int scale) throwsSQLException
      Deprecated.
      usegetBigDecimal(int parameterIndex) orgetBigDecimal(String parameterName)
      Retrieves the value of the designated JDBCNUMERIC parameter as ajava.math.BigDecimal object withscale digits to the right of the decimal point.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      scale - the number of digits to the right of the decimal point
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      See Also:
    • getBytes

      byte[] getBytes(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCBINARY orVARBINARY parameter as an array ofbyte values in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getDate

      Date getDate(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCDATE parameter as ajava.sql.Date object.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getTime

      Time getTime(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCTIME parameter as ajava.sql.Time object.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getTimestamp

      Timestamp getTimestamp(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCTIMESTAMP parameter as ajava.sql.Timestamp object.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getObject

      Object getObject(int parameterIndex) throwsSQLException
      Retrieves the value of the designated parameter as anObject in the Java programming language. If the value is an SQLNULL, the driver returns a Javanull.

      This method returns a Java object whose type corresponds to the JDBC type that was registered for this parameter using the methodregisterOutParameter. By registering the target JDBC type asjava.sql.Types.OTHER, this method can be used to read database-specific abstract data types.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      Ajava.lang.Object holding the OUT parameter value
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      See Also:
    • getBigDecimal

      BigDecimal getBigDecimal(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCNUMERIC parameter as ajava.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value in full precision. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      Since:
      1.2
      See Also:
    • getObject

      Object getObject(int parameterIndex,Map<String,Class<?>> map) throwsSQLException
      Returns an object representing the value of OUT parameterparameterIndex and usesmap for the custom mapping of the parameter value.

      This method returns a Java object whose type corresponds to the JDBC type that was registered for this parameter using the methodregisterOutParameter. By registering the target JDBC type asjava.sql.Types.OTHER, this method can be used to read database-specific abstract data types.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      map - the mapping from SQL type names to Java classes
      Returns:
      ajava.lang.Object holding the OUT parameter value
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
      See Also:
    • getRef

      Ref getRef(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCREF(<structured-type>) parameter as aRef object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value as aRef object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getBlob

      Blob getBlob(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCBLOB parameter as aBlob object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value as aBlob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getClob

      Clob getClob(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCCLOB parameter as ajava.sql.Clob object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value as aClob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getArray

      Array getArray(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCARRAY parameter as anArray object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value as anArray object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getDate

      Date getDate(int parameterIndex,Calendar cal) throwsSQLException
      Retrieves the value of the designated JDBCDATE parameter as ajava.sql.Date object, using the givenCalendar object to construct the date. With aCalendar object, the driver can calculate the date taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      cal - theCalendar object the driver will use to construct the date
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      Since:
      1.2
      See Also:
    • getTime

      Time getTime(int parameterIndex,Calendar cal) throwsSQLException
      Retrieves the value of the designated JDBCTIME parameter as ajava.sql.Time object, using the givenCalendar object to construct the time. With aCalendar object, the driver can calculate the time taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      cal - theCalendar object the driver will use to construct the time
      Returns:
      the parameter value; if the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      Since:
      1.2
      See Also:
    • getTimestamp

      Timestamp getTimestamp(int parameterIndex,Calendar cal) throwsSQLException
      Retrieves the value of the designated JDBCTIMESTAMP parameter as ajava.sql.Timestamp object, using the givenCalendar object to construct theTimestamp object. With aCalendar object, the driver can calculate the timestamp taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      cal - theCalendar object the driver will use to construct the timestamp
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      Since:
      1.2
      See Also:
    • registerOutParameter

      void registerOutParameter(int parameterIndex, int sqlType,String typeName) throwsSQLException
      Registers the designated output parameter. This version of the methodregisterOutParameter should be used for a user-defined orREF output parameter. Examples of user-defined types include:STRUCT,DISTINCT,JAVA_OBJECT, and named array types.

      All OUT parameters must be registered before a stored procedure is executed.

      For a user-defined parameter, the fully-qualified SQL type name of the parameter should also be given, while aREF parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-defined andREF parameters. Although it is intended for user-defined andREF parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-defined orREF type, thetypeName parameter is ignored.

      Note: When reading the value of an out parameter, you must use the getter method whose Java type corresponds to the parameter's registered SQL type.

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2,...
      sqlType - a value fromTypes
      typeName - the fully-qualified name of an SQL structured type
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type
      Since:
      1.2
      See Also:
    • registerOutParameter

      void registerOutParameter(String parameterName, int sqlType) throwsSQLException
      Registers the OUT parameter namedparameterName to the JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      If the JDBC type expected to be returned to this output parameter is specific to this particular database,sqlType should bejava.sql.Types.OTHER. The methodgetObject(int) retrieves the value.

      Parameters:
      parameterName - the name of the parameter
      sqlType - the JDBC type code defined byjava.sql.Types. If the parameter is of JDBC typeNUMERIC orDECIMAL, the version ofregisterOutParameter that accepts a scale value should be used.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type or if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • registerOutParameter

      void registerOutParameter(String parameterName, int sqlType, int scale) throwsSQLException
      Registers the parameter namedparameterName to be of JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      This version ofregisterOutParameter should be used when the parameter is of JDBC typeNUMERIC orDECIMAL.

      Parameters:
      parameterName - the name of the parameter
      sqlType - SQL type code defined byjava.sql.Types.
      scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type or if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • registerOutParameter

      void registerOutParameter(String parameterName, int sqlType,String typeName) throwsSQLException
      Registers the designated output parameter. This version of the methodregisterOutParameter should be used for a user-named or REF output parameter. Examples of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

      All OUT parameters must be registered before a stored procedure is executed.

      For a user-named parameter the fully-qualified SQL type name of the parameter should also be given, while a REF parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-named and REF parameters. Although it is intended for user-named and REF parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-named or REF type, the typeName parameter is ignored.

      Note: When reading the value of an out parameter, you must use thegetXXX method whose Java type XXX corresponds to the parameter's registered SQL type.

      Parameters:
      parameterName - the name of the parameter
      sqlType - a value fromTypes
      typeName - the fully-qualified name of an SQL structured type
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - ifsqlType is aARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML orSTRUCT data type and the JDBC driver does not support this data type or if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getURL

      URL getURL(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCDATALINK parameter as ajava.net.URL object.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2,...
      Returns:
      ajava.net.URL object that represents the JDBCDATALINK value used as the designated parameter
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs, this method is called on a closedCallableStatement, or if the URL being returned is not a valid URL on the Java platform
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setURL

      void setURL(String parameterName,URL val) throwsSQLException
      Sets the designated parameter to the givenjava.net.URL object. The driver converts this to an SQLDATALINK value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      val - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs; this method is called on a closedCallableStatement or if a URL is malformed
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setNull

      void setNull(String parameterName, int sqlType) throwsSQLException
      Sets the designated parameter to SQLNULL.

      Note: You must specify the parameter's SQL type.

      Parameters:
      parameterName - the name of the parameter
      sqlType - the SQL type code defined injava.sql.Types
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • setBoolean

      void setBoolean(String parameterName, boolean x) throwsSQLException
      Sets the designated parameter to the given Javaboolean value. The driver converts this to an SQLBIT orBOOLEAN value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setByte

      void setByte(String parameterName, byte x) throwsSQLException
      Sets the designated parameter to the given Javabyte value. The driver converts this to an SQLTINYINT value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setShort

      void setShort(String parameterName, short x) throwsSQLException
      Sets the designated parameter to the given Javashort value. The driver converts this to an SQLSMALLINT value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setInt

      void setInt(String parameterName, int x) throwsSQLException
      Sets the designated parameter to the given Javaint value. The driver converts this to an SQLINTEGER value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setLong

      void setLong(String parameterName, long x) throwsSQLException
      Sets the designated parameter to the given Javalong value. The driver converts this to an SQLBIGINT value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setFloat

      void setFloat(String parameterName, float x) throwsSQLException
      Sets the designated parameter to the given Javafloat value. The driver converts this to an SQLFLOAT value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setDouble

      void setDouble(String parameterName, double x) throwsSQLException
      Sets the designated parameter to the given Javadouble value. The driver converts this to an SQLDOUBLE value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setBigDecimal

      void setBigDecimal(String parameterName,BigDecimal x) throwsSQLException
      Sets the designated parameter to the givenjava.math.BigDecimal value. The driver converts this to an SQLNUMERIC value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setString

      void setString(String parameterName,String x) throwsSQLException
      Sets the designated parameter to the given JavaString value. The driver converts this to an SQLVARCHAR orLONGVARCHAR value (depending on the argument's size relative to the driver's limits onVARCHAR values) when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setBytes

      void setBytes(String parameterName, byte[] x) throwsSQLException
      Sets the designated parameter to the given Java array of bytes. The driver converts this to an SQLVARBINARY orLONGVARBINARY (depending on the argument's size relative to the driver's limits onVARBINARY values) when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setDate

      void setDate(String parameterName,Date x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Date value using the default time zone of the virtual machine that is running the application. The driver converts this to an SQLDATE value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setTime

      void setTime(String parameterName,Time x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Time value. The driver converts this to an SQLTIME value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setTimestamp

      void setTimestamp(String parameterName,Timestamp x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Timestamp value. The driver converts this to an SQLTIMESTAMP value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setAsciiStream

      void setAsciiStream(String parameterName,InputStream x, int length) throwsSQLException
      Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      x - the Java input stream that contains the ASCII parameter value
      length - the number of bytes in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • setBinaryStream

      void setBinaryStream(String parameterName,InputStream x, int length) throwsSQLException
      Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to aLONGVARBINARY parameter, it may be more practical to send it via ajava.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      x - the java input stream which contains the binary parameter value
      length - the number of bytes in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • setObject

      void setObject(String parameterName,Object x, int targetSqlType, int scale) throwsSQLException
      Sets the value of the designated parameter with the given object.

      The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interfaceSQLData), the JDBC driver should call the methodSQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementingRef,Blob,Clob,NClob,Struct,java.net.URL, orArray, the driver should pass it to the database as a value of the corresponding SQL type.

      Note that this method may be used to pass datatabase- specific abstract data types.

      Parameters:
      parameterName - the name of the parameter
      x - the object containing the input parameter value
      targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
      scale - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified targetSqlType
      Since:
      1.4
      See Also:
    • setObject

      void setObject(String parameterName,Object x, int targetSqlType) throwsSQLException
      Sets the value of the designated parameter with the given object. This method is similar tosetObject(String parameterName, Object x, int targetSqlType, int scaleOrLength), except that it assumes a scale of zero.
      Parameters:
      parameterName - the name of the parameter
      x - the object containing the input parameter value
      targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified targetSqlType
      Since:
      1.4
      See Also:
    • setObject

      void setObject(String parameterName,Object x) throwsSQLException
      Sets the value of the designated parameter with the given object.

      The JDBC specification specifies a standard mapping from JavaObject types to SQL types. The given argument will be converted to the corresponding SQL type before being sent to the database.

      Note that this method may be used to pass database- specific abstract data types, by using a driver-specific Java type. If the object is of a class implementing the interfaceSQLData, the JDBC driver should call the methodSQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementingRef,Blob,Clob,NClob,Struct,java.net.URL, orArray, the driver should pass it to the database as a value of the corresponding SQL type.

      This method throws an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of the interfaces named above.

      Note: Not all databases allow for a non-typed Null to be sent to the backend. For maximum portability, thesetNull or thesetObject(String parameterName, Object x, int sqlType) method should be used instead ofsetObject(String parameterName, Object x).

      Parameters:
      parameterName - the name of the parameter
      x - the object containing the input parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs, this method is called on a closedCallableStatement or if the givenObject parameter is ambiguous
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setCharacterStream

      void setCharacterStream(String parameterName,Reader reader, int length) throwsSQLException
      Sets the designated parameter to the givenReader object, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      reader - thejava.io.Reader object that contains the UNICODE data used as the designated parameter
      length - the number of characters in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • setDate

      void setDate(String parameterName,Date x,Calendar cal) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Date value, using the givenCalendar object. The driver uses theCalendar object to construct an SQLDATE value, which the driver then sends to the database. With a aCalendar object, the driver can calculate the date taking into account a custom timezone. If noCalendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      cal - theCalendar object the driver will use to construct the date
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setTime

      void setTime(String parameterName,Time x,Calendar cal) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Time value, using the givenCalendar object. The driver uses theCalendar object to construct an SQLTIME value, which the driver then sends to the database. With a aCalendar object, the driver can calculate the time taking into account a custom timezone. If noCalendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      cal - theCalendar object the driver will use to construct the time
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setTimestamp

      void setTimestamp(String parameterName,Timestamp x,Calendar cal) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Timestamp value, using the givenCalendar object. The driver uses theCalendar object to construct an SQLTIMESTAMP value, which the driver then sends to the database. With a aCalendar object, the driver can calculate the timestamp taking into account a custom timezone. If noCalendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      cal - theCalendar object the driver will use to construct the timestamp
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • setNull

      void setNull(String parameterName, int sqlType,String typeName) throwsSQLException
      Sets the designated parameter to SQLNULL. This version of the methodsetNull should be used for user-defined types and REF type parameters. Examples of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

      Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-defined type the name is the type name of the parameter itself. For a REF parameter, the name is the type name of the referenced type.

      Although it is intended for user-defined and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-defined or REF type, the given typeName is ignored.

      Parameters:
      parameterName - the name of the parameter
      sqlType - a value fromjava.sql.Types
      typeName - the fully-qualified name of an SQL user-defined type; ignored if the parameter is not a user-defined type or SQLREF value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • getString

      String getString(String parameterName) throwsSQLException
      Retrieves the value of a JDBCCHAR,VARCHAR, orLONGVARCHAR parameter as aString in the Java programming language.

      For the fixed-length type JDBCCHAR, theString object returned has exactly the same value the SQLCHAR value had in the database, including any padding added by the database.

      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getBoolean

      boolean getBoolean(String parameterName) throwsSQLException
      Retrieves the value of a JDBCBIT orBOOLEAN parameter as aboolean in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isfalse.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getByte

      byte getByte(String parameterName) throwsSQLException
      Retrieves the value of a JDBCTINYINT parameter as abyte in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getShort

      short getShort(String parameterName) throwsSQLException
      Retrieves the value of a JDBCSMALLINT parameter as ashort in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getInt

      int getInt(String parameterName) throwsSQLException
      Retrieves the value of a JDBCINTEGER parameter as anint in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getLong

      long getLong(String parameterName) throwsSQLException
      Retrieves the value of a JDBCBIGINT parameter as along in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getFloat

      float getFloat(String parameterName) throwsSQLException
      Retrieves the value of a JDBCFLOAT parameter as afloat in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getDouble

      double getDouble(String parameterName) throwsSQLException
      Retrieves the value of a JDBCDOUBLE parameter as adouble in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result is0.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getBytes

      byte[] getBytes(String parameterName) throwsSQLException
      Retrieves the value of a JDBCBINARY orVARBINARY parameter as an array ofbyte values in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getDate

      Date getDate(String parameterName) throwsSQLException
      Retrieves the value of a JDBCDATE parameter as ajava.sql.Date object.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getTime

      Time getTime(String parameterName) throwsSQLException
      Retrieves the value of a JDBCTIME parameter as ajava.sql.Time object.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getTimestamp

      Timestamp getTimestamp(String parameterName) throwsSQLException
      Retrieves the value of a JDBCTIMESTAMP parameter as ajava.sql.Timestamp object.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getObject

      Object getObject(String parameterName) throwsSQLException
      Retrieves the value of a parameter as anObject in the Java programming language. If the value is an SQLNULL, the driver returns a Javanull.

      This method returns a Java object whose type corresponds to the JDBC type that was registered for this parameter using the methodregisterOutParameter. By registering the target JDBC type asjava.sql.Types.OTHER, this method can be used to read database-specific abstract data types.

      Parameters:
      parameterName - the name of the parameter
      Returns:
      Ajava.lang.Object holding the OUT parameter value.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getBigDecimal

      BigDecimal getBigDecimal(String parameterName) throwsSQLException
      Retrieves the value of a JDBCNUMERIC parameter as ajava.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value in full precision. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getObject

      Object getObject(String parameterName,Map<String,Class<?>> map) throwsSQLException
      Returns an object representing the value of OUT parameterparameterName and usesmap for the custom mapping of the parameter value.

      This method returns a Java object whose type corresponds to the JDBC type that was registered for this parameter using the methodregisterOutParameter. By registering the target JDBC type asjava.sql.Types.OTHER, this method can be used to read database-specific abstract data types.

      Parameters:
      parameterName - the name of the parameter
      map - the mapping from SQL type names to Java classes
      Returns:
      ajava.lang.Object holding the OUT parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getRef

      Ref getRef(String parameterName) throwsSQLException
      Retrieves the value of a JDBCREF(<structured-type>) parameter as aRef object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as aRef object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • getBlob

      Blob getBlob(String parameterName) throwsSQLException
      Retrieves the value of a JDBCBLOB parameter as aBlob object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as aBlob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • getClob

      Clob getClob(String parameterName) throwsSQLException
      Retrieves the value of a JDBCCLOB parameter as ajava.sql.Clob object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as aClob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • getArray

      Array getArray(String parameterName) throwsSQLException
      Retrieves the value of a JDBCARRAY parameter as anArray object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as anArray object in Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
    • getDate

      Date getDate(String parameterName,Calendar cal) throwsSQLException
      Retrieves the value of a JDBCDATE parameter as ajava.sql.Date object, using the givenCalendar object to construct the date. With aCalendar object, the driver can calculate the date taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterName - the name of the parameter
      cal - theCalendar object the driver will use to construct the date
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getTime

      Time getTime(String parameterName,Calendar cal) throwsSQLException
      Retrieves the value of a JDBCTIME parameter as ajava.sql.Time object, using the givenCalendar object to construct the time. With aCalendar object, the driver can calculate the time taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterName - the name of the parameter
      cal - theCalendar object the driver will use to construct the time
      Returns:
      the parameter value; if the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getTimestamp

      Timestamp getTimestamp(String parameterName,Calendar cal) throwsSQLException
      Retrieves the value of a JDBCTIMESTAMP parameter as ajava.sql.Timestamp object, using the givenCalendar object to construct theTimestamp object. With aCalendar object, the driver can calculate the timestamp taking into account a custom timezone and locale. If noCalendar object is specified, the driver uses the default timezone and locale.
      Parameters:
      parameterName - the name of the parameter
      cal - theCalendar object the driver will use to construct the timestamp
      Returns:
      the parameter value. If the value is SQLNULL, the result isnull.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getURL

      URL getURL(String parameterName) throwsSQLException
      Retrieves the value of a JDBCDATALINK parameter as ajava.net.URL object.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as ajava.net.URL object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs, this method is called on a closedCallableStatement, or if there is a problem with the URL
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.4
      See Also:
    • getRowId

      RowId getRowId(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCROWID parameter as ajava.sql.RowId object.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2,...
      Returns:
      aRowId object that represents the JDBCROWID value is used as the designated parameter. If the parameter contains a SQLNULL, then anull value is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getRowId

      RowId getRowId(String parameterName) throwsSQLException
      Retrieves the value of the designated JDBCROWID parameter as ajava.sql.RowId object.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      aRowId object that represents the JDBCROWID value is used as the designated parameter. If the parameter contains a SQLNULL, then anull value is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setRowId

      void setRowId(String parameterName,RowId x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.RowId object. The driver converts this to a SQLROWID when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNString

      void setNString(String parameterName,String value) throwsSQLException
      Sets the designated parameter to the givenString object. The driver converts this to a SQLNCHAR orNVARCHAR orLONGNVARCHAR
      Parameters:
      parameterName - the name of the parameter to be set
      value - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNCharacterStream

      void setNCharacterStream(String parameterName,Reader value, long length) throwsSQLException
      Sets the designated parameter to aReader object. TheReader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.
      Parameters:
      parameterName - the name of the parameter to be set
      value - the parameter value
      length - the number of characters in the parameter data.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNClob

      void setNClob(String parameterName,NClob value) throwsSQLException
      Sets the designated parameter to ajava.sql.NClob object. The object implements thejava.sql.NClob interface. ThisNClob object maps to a SQLNCLOB.
      Parameters:
      parameterName - the name of the parameter to be set
      value - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setClob

      void setClob(String parameterName,Reader reader, long length) throwsSQLException
      Sets the designated parameter to aReader object. Thereader must contain the number of characters specified by length otherwise aSQLException will be generated when theCallableStatement is executed. This method differs from thesetCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as aCLOB. When thesetCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as aLONGVARCHAR or aCLOB
      Parameters:
      parameterName - the name of the parameter to be set
      reader - An object that contains the data to set the parameter value to.
      length - the number of characters in the parameter data.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the length specified is less than zero; a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setBlob

      void setBlob(String parameterName,InputStream inputStream, long length) throwsSQLException
      Sets the designated parameter to anInputStream object. TheInputstream must contain the number of characters specified by length, otherwise aSQLException will be generated when theCallableStatement is executed. This method differs from thesetBinaryStream (int, InputStream, int) method because it informs the driver that the parameter value should be sent to the server as aBLOB. When thesetBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as aLONGVARBINARY or aBLOB
      Parameters:
      parameterName - the name of the parameter to be set the second is 2, ...
      inputStream - An object that contains the data to set the parameter value to.
      length - the number of bytes in the parameter data.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the length specified is less than zero; if the number of bytes in theInputStream does not match the specified length; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNClob

      void setNClob(String parameterName,Reader reader, long length) throwsSQLException
      Sets the designated parameter to aReader object. Thereader must contain the number of characters specified by length otherwise aSQLException will be generated when theCallableStatement is executed. This method differs from thesetCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as aNCLOB. When thesetCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as aLONGNVARCHAR or aNCLOB
      Parameters:
      parameterName - the name of the parameter to be set
      reader - An object that contains the data to set the parameter value to.
      length - the number of characters in the parameter data.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the length specified is less than zero; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getNClob

      NClob getNClob(int parameterIndex) throwsSQLException
      Retrieves the value of the designated JDBCNCLOB parameter as ajava.sql.NClob object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      Returns:
      the parameter value as aNClob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if the parameterIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getNClob

      NClob getNClob(String parameterName) throwsSQLException
      Retrieves the value of a JDBCNCLOB parameter as ajava.sql.NClob object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      the parameter value as aNClob object in the Java programming language. If the value was SQLNULL, the valuenull is returned.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setSQLXML

      void setSQLXML(String parameterName,SQLXML xmlObject) throwsSQLException
      Sets the designated parameter to the givenjava.sql.SQLXML object. The driver converts this to anSQL XML value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      xmlObject - aSQLXML object that maps anSQL XML value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs; this method is called on a closedCallableStatement or thejava.xml.transform.Result,Writer orOutputStream has not been closed for theSQLXML object
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getSQLXML

      SQLXML getSQLXML(int parameterIndex) throwsSQLException
      Retrieves the value of the designatedSQL XML parameter as ajava.sql.SQLXML object in the Java programming language.
      Parameters:
      parameterIndex - index of the first parameter is 1, the second is 2, ...
      Returns:
      aSQLXML object that maps anSQL XML value
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getSQLXML

      SQLXML getSQLXML(String parameterName) throwsSQLException
      Retrieves the value of the designatedSQL XML parameter as ajava.sql.SQLXML object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      aSQLXML object that maps anSQL XML value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getNString

      String getNString(int parameterIndex) throwsSQLException
      Retrieves the value of the designatedNCHAR,NVARCHAR orLONGNVARCHAR parameter as aString in the Java programming language.

      For the fixed-length type JDBCNCHAR, theString object returned has exactly the same value the SQLNCHAR value had in the database, including any padding added by the database.

      Parameters:
      parameterIndex - index of the first parameter is 1, the second is 2, ...
      Returns:
      aString object that maps anNCHAR,NVARCHAR orLONGNVARCHAR value
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
      See Also:
    • getNString

      String getNString(String parameterName) throwsSQLException
      Retrieves the value of the designatedNCHAR,NVARCHAR orLONGNVARCHAR parameter as aString in the Java programming language.

      For the fixed-length type JDBCNCHAR, theString object returned has exactly the same value the SQLNCHAR value had in the database, including any padding added by the database.

      Parameters:
      parameterName - the name of the parameter
      Returns:
      aString object that maps anNCHAR,NVARCHAR orLONGNVARCHAR value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
      See Also:
    • getNCharacterStream

      Reader getNCharacterStream(int parameterIndex) throwsSQLException
      Retrieves the value of the designated parameter as ajava.io.Reader object in the Java programming language. It is intended for use when accessingNCHAR,NVARCHAR andLONGNVARCHAR parameters.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, ...
      Returns:
      ajava.io.Reader object that contains the parameter value; if the value is SQLNULL, the value returned isnull in the Java programming language.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getNCharacterStream

      Reader getNCharacterStream(String parameterName) throwsSQLException
      Retrieves the value of the designated parameter as ajava.io.Reader object in the Java programming language. It is intended for use when accessingNCHAR,NVARCHAR andLONGNVARCHAR parameters.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      ajava.io.Reader object that contains the parameter value; if the value is SQLNULL, the value returned isnull in the Java programming language
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getCharacterStream

      Reader getCharacterStream(int parameterIndex) throwsSQLException
      Retrieves the value of the designated parameter as ajava.io.Reader object in the Java programming language.
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, ...
      Returns:
      ajava.io.Reader object that contains the parameter value; if the value is SQLNULL, the value returned isnull in the Java programming language.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      Since:
      1.6
    • getCharacterStream

      Reader getCharacterStream(String parameterName) throwsSQLException
      Retrieves the value of the designated parameter as ajava.io.Reader object in the Java programming language.
      Parameters:
      parameterName - the name of the parameter
      Returns:
      ajava.io.Reader object that contains the parameter value; if the value is SQLNULL, the value returned isnull in the Java programming language
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setBlob

      void setBlob(String parameterName,Blob x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Blob object. The driver converts this to an SQLBLOB value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - aBlob object that maps an SQLBLOB value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setClob

      void setClob(String parameterName,Clob x) throwsSQLException
      Sets the designated parameter to the givenjava.sql.Clob object. The driver converts this to an SQLCLOB value when it sends it to the database.
      Parameters:
      parameterName - the name of the parameter
      x - aClob object that maps an SQLCLOB value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setAsciiStream

      void setAsciiStream(String parameterName,InputStream x, long length) throwsSQLException
      Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      x - the Java input stream that contains the ASCII parameter value
      length - the number of bytes in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setBinaryStream

      void setBinaryStream(String parameterName,InputStream x, long length) throwsSQLException
      Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to aLONGVARBINARY parameter, it may be more practical to send it via ajava.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      x - the java input stream which contains the binary parameter value
      length - the number of bytes in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setCharacterStream

      void setCharacterStream(String parameterName,Reader reader, long length) throwsSQLException
      Sets the designated parameter to the givenReader object, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Parameters:
      parameterName - the name of the parameter
      reader - thejava.io.Reader object that contains the UNICODE data used as the designated parameter
      length - the number of characters in the stream
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setAsciiStream

      void setAsciiStream(String parameterName,InputStream x) throwsSQLException
      Sets the designated parameter to the given input stream. When a very large ASCII value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetAsciiStream which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      x - the Java input stream that contains the ASCII parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setBinaryStream

      void setBinaryStream(String parameterName,InputStream x) throwsSQLException
      Sets the designated parameter to the given input stream. When a very large binary value is input to aLONGVARBINARY parameter, it may be more practical to send it via ajava.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetBinaryStream which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      x - the java input stream which contains the binary parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setCharacterStream

      void setCharacterStream(String parameterName,Reader reader) throwsSQLException
      Sets the designated parameter to the givenReader object. When a very large UNICODE value is input to aLONGVARCHAR parameter, it may be more practical to send it via ajava.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetCharacterStream which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      reader - thejava.io.Reader object that contains the Unicode data
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNCharacterStream

      void setNCharacterStream(String parameterName,Reader value) throwsSQLException
      Sets the designated parameter to aReader object. TheReader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetNCharacterStream which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      value - the parameter value
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setClob

      void setClob(String parameterName,Reader reader) throwsSQLException
      Sets the designated parameter to aReader object. This method differs from thesetCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as aCLOB. When thesetCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as aLONGVARCHAR or aCLOB

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetClob which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      reader - An object that contains the data to set the parameter value to.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setBlob

      void setBlob(String parameterName,InputStream inputStream) throwsSQLException
      Sets the designated parameter to anInputStream object. This method differs from thesetBinaryStream (int, InputStream) method because it informs the driver that the parameter value should be sent to the server as aBLOB. When thesetBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as aLONGVARBINARY or aBLOB

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetBlob which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      inputStream - An object that contains the data to set the parameter value to.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • setNClob

      void setNClob(String parameterName,Reader reader) throwsSQLException
      Sets the designated parameter to aReader object. This method differs from thesetCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as aNCLOB. When thesetCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as aLONGNVARCHAR or aNCLOB

      Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version ofsetNClob which takes a length parameter.

      Parameters:
      parameterName - the name of the parameter
      reader - An object that contains the data to set the parameter value to.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6
    • getObject

      <T> T getObject(int parameterIndex,Class<T> type) throwsSQLException
      Returns an object representing the value of OUT parameterparameterIndex and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLException is thrown.

      At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implementsSQLData, orStruct. Additional conversions may be supported and are vendor defined.

      Type Parameters:
      T - the type of the class modeled by this Class object
      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      type - Class representing the Java data type to convert the designated parameter to.
      Returns:
      an instance oftype holding the OUT parameter value
      Throws:
      SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.7
    • getObject

      <T> T getObject(String parameterName,Class<T> type) throwsSQLException
      Returns an object representing the value of OUT parameterparameterName and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLException is thrown.

      At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implementsSQLData, orStruct. Additional conversions may be supported and are vendor defined.

      Type Parameters:
      T - the type of the class modeled by this Class object
      Parameters:
      parameterName - the name of the parameter
      type - Class representing the Java data type to convert the designated parameter to.
      Returns:
      an instance oftype holding the OUT parameter value
      Throws:
      SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.7
    • setObject

      default void setObject(String parameterName,Object x,SQLType targetSqlType, int scaleOrLength) throwsSQLException
      Sets the value of the designated parameter with the given object. If the second argument is anInputStream then the stream must contain the number of bytes specified by scaleOrLength. If the second argument is aReader then the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate aSQLException when the prepared statement is executed.

      The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interfaceSQLData), the JDBC driver should call the methodSQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementingRef,Blob,Clob,NClob,Struct,java.net.URL, orArray, the driver should pass it to the database as a value of the corresponding SQL type.

      Note that this method may be used to pass database-specific abstract data types.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterName - the name of the parameter
      x - the object containing the input parameter value
      targetSqlType - the SQL type to be sent to the database. The scale argument may further qualify this type.
      scaleOrLength - forjava.sql.JDBCType.DECIMAL orjava.sql.JDBCType.NUMERIC types, this is the number of digits after the decimal point. For Java Object typesInputStream andReader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement or if the Java Object specified by x is an InputStream or Reader object and the value of the scale parameter is less than zero
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified targetSqlType
      Since:
      1.8
      See Also:
    • setObject

      default void setObject(String parameterName,Object x,SQLType targetSqlType) throwsSQLException
      Sets the value of the designated parameter with the given object. This method is similar tosetObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength), except that it assumes a scale of zero.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterName - the name of the parameter
      x - the object containing the input parameter value
      targetSqlType - the SQL type to be sent to the database
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified targetSqlType
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(int parameterIndex,SQLType sqlType) throwsSQLException
      Registers the OUT parameter in ordinal positionparameterIndex to the JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      If the JDBC type expected to be returned to this output parameter is specific to this particular database,sqlType may beJDBCType.OTHER or aSQLType that is supported by the JDBC driver. The methodgetObject(int) retrieves the value.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter. If the parameter is of JDBC typeJDBCType.NUMERIC orJDBCType.DECIMAL, the version ofregisterOutParameter that accepts a scale value should be used.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(int parameterIndex,SQLType sqlType, int scale) throwsSQLException
      Registers the parameter in ordinal positionparameterIndex to be of JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      This version of registerOutParameter should be used when the parameter is of JDBC typeJDBCType.NUMERIC orJDBCType.DECIMAL.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2, and so on
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter.
      scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(int parameterIndex,SQLType sqlType,String typeName) throwsSQLException
      Registers the designated output parameter. This version of the method registerOutParameter should be used for a user-defined orREF output parameter. Examples of user-defined types include:STRUCT,DISTINCT,JAVA_OBJECT, and named array types.

      All OUT parameters must be registered before a stored procedure is executed.

      For a user-defined parameter, the fully-qualified SQL type name of the parameter should also be given, while aREF parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-defined andREF parameters. Although it is intended for user-defined andREF parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-defined orREF type, thetypeName parameter is ignored.

      Note: When reading the value of an out parameter, you must use the getter method whose Java type corresponds to the parameter's registered SQL type.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterIndex - the first parameter is 1, the second is 2,...
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter.
      typeName - the fully-qualified name of an SQL structured type
      Throws:
      SQLException - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(String parameterName,SQLType sqlType) throwsSQLException
      Registers the OUT parameter namedparameterName to the JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      If the JDBC type expected to be returned to this output parameter is specific to this particular database,sqlType should beJDBCType.OTHER or aSQLType that is supported by the JDBC driver.. The methodgetObject(int) retrieves the value.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterName - the name of the parameter
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter. If the parameter is of JDBC typeJDBCType.NUMERIC orJDBCType.DECIMAL, the version of registerOutParameter that accepts a scale value should be used.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType or if the JDBC driver does not support this method
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(String parameterName,SQLType sqlType, int scale) throwsSQLException
      Registers the parameter namedparameterName to be of JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed.

      The JDBC type specified bysqlType for an OUT parameter determines the Java type that must be used in theget method to read the value of that parameter.

      This version of registerOutParameter should be used when the parameter is of JDBC typeJDBCType.NUMERIC orJDBCType.DECIMAL.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterName - the name of the parameter
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter.
      scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType or if the JDBC driver does not support this method
      Since:
      1.8
      See Also:
    • registerOutParameter

      default void registerOutParameter(String parameterName,SQLType sqlType,String typeName) throwsSQLException
      Registers the designated output parameter. This version of the method registerOutParameter should be used for a user-named or REF output parameter. Examples of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

      All OUT parameters must be registered before a stored procedure is executed.

      For a user-named parameter the fully-qualified SQL type name of the parameter should also be given, while a REF parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-named and REF parameters. Although it is intended for user-named and REF parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-named or REF type, the typeName parameter is ignored.

      Note: When reading the value of an out parameter, you must use thegetXXX method whose Java type XXX corresponds to the parameter's registered SQL type.

      The default implementation will throwSQLFeatureNotSupportedException

      Parameters:
      parameterName - the name of the parameter
      sqlType - the JDBC type code defined bySQLType to use to register the OUT Parameter.
      typeName - the fully-qualified name of an SQL structured type
      Throws:
      SQLException - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closedCallableStatement
      SQLFeatureNotSupportedException - if the JDBC driver does not support the specified sqlType or if the JDBC driver does not support this method
      Since:
      1.8
      See Also: