Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.firebirdsql.jdbc.AbstractStatement
org.firebirdsql.jdbc.AbstractPreparedStatement
org.firebirdsql.jdbc.AbstractCallableStatement
public abstract class AbstractCallableStatement
extends AbstractPreparedStatement
implements CallableStatement, FirebirdCallableStatement
IN parameter values are set using the set methods inherited from{?= call <procedure-name>[<arg1>,<arg2>, ...]} {call <procedure-name>[<arg1>,<arg2>, ...]}
PreparedStatement
. The type of all OUT parameters must be
registered prior to executing the stored procedure; their values
are retrieved after execution via the get
methods provided here.
A CallableStatement
can return one ResultSet
or
multiple ResultSet
objects. Multiple
ResultSet
objects are handled using operations
inherited from Statement
.
For maximum portability, a call's ResultSet
objects and
update counts should be processed prior to getting the values of output
parameters.
Methods that are new in the JDBC 2.0 API are marked "Since 1.2."
Note: Escape syntax currently is not supported. Please use native
Firebird procedure call syntax:
EXECUTE PROCEDURE(param1, ...);
Connection.prepareCall
, ResultSet
Field Summary | |
protected FBProcedureCall | |
protected boolean |
Fields inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement | |
isParamSet |
Fields inherited from class org.firebirdsql.jdbc.AbstractStatement | |
completed , fetchSize , firstWarning , fixedStmt , gdsHelper , hasMoreResults , isResultSet , maxRows , statementListener |
Fields inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement | |
TYPE_COMMIT , TYPE_DDL , TYPE_DELETE , TYPE_EXEC_PROCEDURE , TYPE_GET_SEGMENT , TYPE_INSERT , TYPE_PUT_SEGMENT , TYPE_ROLLBACK , TYPE_SELECT , TYPE_SELECT_FOR_UPDATE , TYPE_SET_GENERATOR , TYPE_START_TRANS , TYPE_UPDATE |
Fields inherited from interface org.firebirdsql.jdbc.FirebirdStatement | |
CLOSE_ALL_RESULTS , CLOSE_CURRENT_RESULT , KEEP_CURRENT_RESULT |
Constructor Summary | |
|
Method Summary | |
void |
|
protected void |
|
void |
|
boolean |
|
int[] |
|
ResultSet |
|
int |
|
Array |
|
BigDecimal |
|
BigDecimal |
|
Blob |
|
boolean |
|
byte |
|
byte[] |
|
Clob |
|
ResultSet | |
java.sql.Date |
|
java.sql.Date |
|
double |
|
float |
|
int |
|
long |
|
ResultSetMetaData |
|
Object |
|
Object |
|
Ref |
|
ResultSet |
|
short |
|
String |
|
Time |
|
Time |
|
Timestamp |
|
Timestamp |
|
protected boolean |
|
protected void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
protected void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
boolean |
|
Methods inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement | |
addBatch , clearBatch , clearParameters , completeStatement , execute , executeBatch , executeQuery , executeUpdate , getExecutionPlan , getField , getMetaData , getStatementType , getXsqlvar , internalExecute , prepareFixedStatement , setArray , setAsciiStream , setBigDecimal , setBinaryStream , setBlob , setBoolean , setByte , setBytes , setCharacterStream , setClob , setDate , setDate , setDouble , setFloat , setInt , setLong , setNull , setNull , setObject , setObject , setObject , setRef , setShort , setString , setStringForced , setTime , setTime , setTimestamp , setTimestamp , setUnicodeStream |
protected AbstractCallableStatement(org.firebirdsql.gds.impl.GDSHelper c, String sql, int rsType, int rsConcurrency, int rsHoldability, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener) throws SQLException
public void addBatch() throws SQLException
Adds a set of parameters to thisPreparedStatement
object's batch of commands.
- Overrides:
- addBatch in interface AbstractPreparedStatement
- Since:
- 1.2
- See Also:
Statement.addBatch
,What Is in the JDBC 2.0 API
protected void assertHasData(ResultSet rs) throws SQLException
Asserts if the current statement has data to return. It checks if the result set has a row with data.
- Parameters:
rs
- result set to test
public void clearBatch() throws SQLException
Makes the set of commands in the current batch empty. This method is optional.
- Overrides:
- clearBatch in interface AbstractPreparedStatement
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public boolean execute() throws SQLException
Executes an execute stored procedure. Some prepared statements return multiple results; theexecute
method handles these complex statements as well as the simpler form of statements handled by the methodsexecuteQuery
andexecuteUpdate
.
- Overrides:
- execute in interface AbstractPreparedStatement
- See Also:
Statement.execute
public int[] executeBatch() throws SQLException
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. Theint
elements of the array that is returned are ordered to correspond to the commands in the batch, which are ordered according to the order in which they were added to the batch. The elements in the array returned by the methodexecuteBatch
may be one of the following:A driver is not required to implement this method. The possible implementations and return values have been modified in the Java 2 SDK, Standard Edition, version 1.3 to accommodate the option of continuing to proccess commands in a batch update after a
- A number greater than or equal to zero -- indicates that the command was processed successfully and is an update count giving the number of rows in the database that were affected by the command's execution
- A value of
-2
-- indicates that the command was processed successfully but that the number of rows affected is unknown If one of the commands in a batch update fails to execute properly, this method throws aBatchUpdateException
, and a JDBC driver may or may not continue to process the remaining commands in the batch. However, the driver's behavior must be consistent with a particular DBMS, either always continuing to process commands or never continuing to process commands. If the driver continues processing after a failure, the array returned by the methodBatchUpdateException.getUpdateCounts
will contain as many elements as there are commands in the batch, and at least one of the elements will be the following:- A value of
-3
-- indicates that the command failed to execute successfully and occurs only if a driver continues to process commands after a command failsBatchUpdateException
obejct has been thrown.
- Overrides:
- executeBatch in interface AbstractPreparedStatement
- Returns:
- an array of update counts containing one element for each command in the batch. The elements of the array are ordered according to the order in which commands were added to the batch.
- Since:
- 1.3
- See Also:
What Is in the JDBC 2.0 API
public ResultSet executeQuery() throws SQLException
Execute query. This method prepares statement before execution. Rest of the processing is done by superclass.
- Overrides:
- executeQuery in interface AbstractPreparedStatement
public int executeUpdate() throws SQLException
Execute query. This method prepares statement before execution. Rest of the processing is done by superclass.
- Overrides:
- executeUpdate in interface AbstractPreparedStatement
public Array getArray(int parameterIndex) throws SQLException
Gets the value of a 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 an
Array
object in the Java programming language. If the value was SQLNULL
, the valuenull
is returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public BigDecimal getBigDecimal(int parameterIndex) throws SQLException
Gets 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:
parameterIndex
- the first parameter is 1, the second is 2, and so on
- Returns:
- the parameter value in full precision. If the value is SQL
NULL
, the result isnull
.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
Deprecated.
Gets the value of a JDBCNUMERIC
parameter as ajava.math.BigDecimal
object with scale digits to the right of the decimal point.
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, and so onscale
- the number of digits to the right of the decimal point
- Returns:
- the parameter value. If the value is SQL
NULL
, the result isnull
.
public Blob getBlob(int parameterIndex) throws SQLException
Gets the value of a 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 a
Blob
object in the Java programming language. If the value was SQLNULL
, the valuenull
is returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public boolean getBoolean(int parameterIndex) throws SQLException
Gets the value of a JDBCBIT
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 SQL
NULL
, the result isfalse
.
public byte getByte(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public byte[] getBytes(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result isnull
.
public Clob getClob(int parameterIndex) throws SQLException
Gets the value of a JDBCCLOB
parameter as aClob
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 a
Clob
object in the Java programming language. If the value was SQLNULL
, the valuenull
is returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public ResultSet getCurrentResultSet() throws SQLException
- Specified by:
- getCurrentResultSet in interface FirebirdStatement
- Overrides:
- getCurrentResultSet in interface AbstractStatement
public java.sql.Date getDate(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result isnull
.
public java.sql.Date getDate(int parameterIndex, Calendar cal) throws SQLException
Gets 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:
parameterIndex
- the first parameter is 1, the second is 2, and so oncal
- theCalendar
object the driver will use to construct the date
- Returns:
- the parameter value. If the value is SQL
NULL
, the result isnull
.
public double getDouble(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public float getFloat(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public int getInt(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public long getLong(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public ResultSetMetaData getMetaData() throws SQLException
Since we deferred the statement preparation until all OUT params are registered, we ensure that the statement is prepared before the meta data for the callable statement is obtained.
- Overrides:
- getMetaData in interface AbstractPreparedStatement
public Object getObject(int parameterIndex) throws SQLException
Gets the value of a parameter as anObject
in the Java programming language. 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:
- A
java.lang.Object
holding the OUT parameter value.
- See Also:
Types
public Object getObject(int parameterIndex, Map map) throws SQLException
Returns an object representing the value of OUT parameteri
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 onmap
- the mapping from SQL type names to Java classes
- Returns:
- a
java.lang.Object
holding the OUT parameter value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public Ref getRef(int parameterIndex) throws SQLException
Gets the value of a 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 a
Ref
object in the Java programming language. If the value was SQLNULL
, the valuenull
is returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public ResultSet getResultSet() throws SQLException
Returns the current result as aResultSet
object. This method should be called only once per result. Calling this method twice with autocommit on and used will probably throw an inappropriate or uninformative exception.
- Overrides:
- getResultSet in interface AbstractStatement
- Returns:
- the current result as a
ResultSet
object;null
if the result is an update count or there are no more results
- See Also:
execute()
public short getShort(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result is 0.
public String getString(int parameterIndex) throws SQLException
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 JDBCCHAR
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 SQL
NULL
, the result isnull
.
public Time getTime(int parameterIndex) throws SQLException
Get the value of a 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 SQL
NULL
, the result isnull
.
public Time getTime(int parameterIndex, Calendar cal) throws SQLException
Gets 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:
parameterIndex
- the first parameter is 1, the second is 2, and so oncal
- theCalendar
object the driver will use to construct the time
- Returns:
- the parameter value; if the value is SQL
NULL
, the result isnull
.
public Timestamp getTimestamp(int parameterIndex) throws SQLException
Gets the value of a 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 SQL
NULL
, the result isnull
.
public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
Gets 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:
parameterIndex
- the first parameter is 1, the second is 2, and so oncal
- theCalendar
object the driver will use to construct the timestamp
- Returns:
- the parameter value. If the value is SQL
NULL
, the result isnull
.
protected boolean internalExecute(boolean sendOutParams) throws SQLException
Execute statement internally. This method sets cached parameters. Rest of the processing is done by superclass.
- Overrides:
- internalExecute in interface AbstractPreparedStatement
protected void prepareFixedStatement(String sql, boolean describeBind) throws GDSException, SQLException
We allow multiple calls to this method without re-preparing the statement. This is an workaround to the issue that the statement is actually prepared only after all OUT parameters are registered.
- Overrides:
- prepareFixedStatement in interface AbstractPreparedStatement
public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
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
retrieves the value.
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, and so onsqlType
- 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.
- See Also:
Types
public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
Registers the parameter in ordinal positionparameterIndex
to be of JDBC typesqlType
. This method must be called 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 onsqlType
- 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.
- See Also:
Types
public void setArray(int i, Array x) throws SQLException
Sets the designated parameter to the givenArray
object. Sets an Array parameter.
- Overrides:
- setArray in interface AbstractPreparedStatement
- Parameters:
i
- the first parameter is 1, the second is 2, ...x
- anArray
object that maps an SQLARRAY
value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
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.
- Overrides:
- setAsciiStream in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the Java input stream that contains the ASCII parameter valuelength
- the number of bytes in the stream
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
Sets the designated parameter to the given BigDecimal
- Overrides:
- setBigDecimal in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- The first parameter is 1, second is 2, ...x
- The BigDecimal to be set as a parameter
public void setBinaryStream(int parameterIndex, InputStream inputStream, int length) throws SQLException
Sets the designated parameter to the given input stream, which will have the specified number of bytes. Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
- Overrides:
- setBinaryStream in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...inputStream
- the Java input streamlength
- the number of bytes in the stream
public void setBlob(int parameterIndex, Blob blob) throws SQLException
Sets the designated parameter to the givenBlob
object.
- Overrides:
- setBlob in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...blob
- aBlob
object that maps an SQLBLOB
value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setBoolean(int parameterIndex, boolean x) throws SQLException
Sets the designated parameter to the given boolean value.
- Overrides:
- setBoolean in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The boolean value to be set
public void setByte(int parameterIndex, byte x) throws SQLException
Sets the designated parameter to the given byte value.
- Overrides:
- setByte in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The byte value to be set
public void setBytes(int parameterIndex, byte[] x) throws SQLException
Set the designated parameter to the given byte array.
- Overrides:
- setBytes in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The byte array to be set
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
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.
- Overrides:
- setCharacterStream in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java reader which contains the UNICODE datalength
- the number of characters in the stream
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setClob(int parameterIndex, Clob x) throws SQLException
Sets the designated parameter to the givenClob
object.
- Overrides:
- setClob in interface AbstractPreparedStatement
- Parameters:
x
- aClob
object that maps an SQLCLOB
value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setDate(int parameterIndex, java.sql.Date x) throws SQLException
public void setDate(int parameterIndex, java.sql.Date x, Calendar cal) throws SQLException
public void setDouble(int parameterIndex, double x) throws SQLException
Sets the designated parameter to the given double value.
- Overrides:
- setDouble in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The double value to be set
public void setFloat(int parameterIndex, float x) throws SQLException
Sets the designated parameter to the given floate value.
- Overrides:
- setFloat in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The float value to be set
public void setInt(int parameterIndex, int x) throws SQLException
Sets the designated parameter to the given int value.
- Overrides:
- setInt in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The int value to be set
public void setLong(int parameterIndex, long x) throws SQLException
Sets the designated parameter to the given long value.
- Overrides:
- setLong in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The long value to be set
public void setNull(int parameterIndex, int sqlType) throws SQLException
Sets the designated parameter to SQLNULL
. Note: You must specify the parameter's SQL type.
- Overrides:
- setNull in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...sqlType
- the SQL type code defined injava.sql.Types
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
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. If a JDBC driver does not need the type code or type name information, it may ignore it. 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.
- Overrides:
- setNull in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...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 REF
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setObject(int parameterIndex, Object x) throws SQLException
Sets the value of the designated parameter with the given object.
- Overrides:
- setObject in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the object containing the parameter value
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
Sets the value of the designated parameter with the given object. This method is like the methodsetObject
above, except that it assumes a scale of zero.
- Overrides:
- setObject in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the object containing the input parameter valuetargetSqlType
- the SQL type (as defined in java.sql.Types) to be sent to the database
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
Sets the value of the designated parameter with the given object. The second argument must be an object type; for integral values, thejava.lang
equivalent objects should be used. 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 implementing Ref, Blob, Clob, Struct, or Array, 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.
- Overrides:
- setObject in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the object containing the input parameter valuetargetSqlType
- 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.
- See Also:
Types
public void setRef(int parameterIndex, Ref x) throws SQLException
Sets the designated parameter to the givenREF(<structured-type>)
value.
- Overrides:
- setRef in interface AbstractPreparedStatement
- Parameters:
x
- an SQLREF
value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
protected void setRequiredTypes() throws SQLException
Set required types for output parameters.
public void setSelectableProcedure(boolean selectableProcedure)
- Specified by:
- setSelectableProcedure in interface FirebirdCallableStatement
public void setShort(int parameterIndex, short x) throws SQLException
Sets the designated parameter to the given short value.
- Overrides:
- setShort in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The short value to be set
public void setString(int parameterIndex, String x) throws SQLException
Sets the designated parameter to the given String value.
- Overrides:
- setString in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The String value to be set
public void setTime(int parameterIndex, Time x) throws SQLException
Sets the designated parameter to the given Time value.
- Overrides:
- setTime in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The Time value to be set
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
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.
- Overrides:
- setTime in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuecal
- theCalendar
object the driver will use to construct the time
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
Sets the designated parameter to the given Timestamp value.
- Overrides:
- setTimestamp in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- The Timestamp value to be set
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
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.
- Overrides:
- setTimestamp in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuecal
- theCalendar
object the driver will use to construct the timestamp
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
Deprecated. I really have no idea if there is anything else we should be doing here
Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large UNICODE value is input to aLONGVARCHAR
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. The JDBC driver will do any necessary conversion from UNICODE to the database char format. The byte format of the Unicode stream must be Java UTF-8, as defined in the Java Virtual Machine Specification. Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
- Overrides:
- setUnicodeStream in interface AbstractPreparedStatement
- Parameters:
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the UNICODE parameter valuelength
- the number of bytes in the stream
public boolean wasNull() throws SQLException
Indicates whether or not the last OUT parameter read had the value of SQLNULL
. Note that this method should be called only after calling agetXXX
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