|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.firebirdsql.jdbc.AbstractStatement
org.firebirdsql.jdbc.AbstractPreparedStatement
org.firebirdsql.jdbc.AbstractCallableStatement
public abstract class AbstractCallableStatement
The interface used to execute SQL stored procedures. JDBC 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 the set methods inherited from
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(java.lang.String),
ResultSet| Field Summary | |
|---|---|
protected FBProcedureCall |
procedureCall
|
protected boolean |
selectableProcedure
|
| 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 |
| Fields inherited from interface java.sql.Statement |
|---|
EXECUTE_FAILED, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
| Constructor Summary | |
|---|---|
protected |
AbstractCallableStatement(GDSHelper c,
String sql,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener)
|
| Method Summary | |
|---|---|
void |
addBatch()
Adds a set of parameters to this PreparedStatement
object's batch of commands. |
protected void |
assertHasData(ResultSet rs)
Asserts if the current statement has data to return. |
void |
clearBatch()
Makes the set of commands in the current batch empty. |
boolean |
execute()
Executes an execute stored procedure. |
int[] |
executeBatch()
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. |
ResultSet |
executeQuery()
Execute query. |
int |
executeUpdate()
Execute query. |
Array |
getArray(int parameterIndex)
Gets the value of a JDBC ARRAY parameter as an
Array object in the Java programming language. |
BigDecimal |
getBigDecimal(int parameterIndex)
Gets the value of a JDBC NUMERIC parameter as a
java.math.BigDecimal object with as many digits to the
right of the decimal point as the value contains. |
BigDecimal |
getBigDecimal(int parameterIndex,
int scale)
Deprecated. |
Blob |
getBlob(int parameterIndex)
Gets the value of a JDBC BLOB parameter as a
Blob object in the Java programming language. |
boolean |
getBoolean(int parameterIndex)
Gets the value of a JDBC BIT parameter as a boolean
in the Java programming language. |
byte |
getByte(int parameterIndex)
Gets the value of a JDBC TINYINT parameter as a byte
in the Java programming language. |
byte[] |
getBytes(int parameterIndex)
Gets the value of a JDBC BINARY or VARBINARY
parameter as an array of byte values in the Java
programming language. |
Clob |
getClob(int parameterIndex)
Gets the value of a JDBC CLOB parameter as a
Clob object in the Java programming language. |
ResultSet |
getCurrentResultSet()
Get current result set. |
Date |
getDate(int parameterIndex)
Gets the value of a JDBC DATE parameter as a
java.sql.Date object. |
Date |
getDate(int parameterIndex,
Calendar cal)
Gets the value of a JDBC DATE parameter as a
java.sql.Date object, using
the given Calendar object
to construct the date. |
double |
getDouble(int parameterIndex)
Gets the value of a JDBC DOUBLE parameter as a double
in the Java programming language. |
float |
getFloat(int parameterIndex)
Gets the value of a JDBC FLOAT parameter as a float
in the Java programming language. |
int |
getInt(int parameterIndex)
Gets the value of a JDBC INTEGER parameter as an int
in the Java programming language. |
long |
getLong(int parameterIndex)
Gets the value of a JDBC BIGINT parameter as a long
in the Java programming language. |
ResultSetMetaData |
getMetaData()
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. |
Object |
getObject(int parameterIndex)
Gets the value of a parameter as an Object in the Java
programming language. |
Object |
getObject(int parameterIndex,
Map map)
Returns an object representing the value of OUT parameter i and uses map for the custom
mapping of the parameter value. |
Ref |
getRef(int parameterIndex)
Gets the value of a JDBC REF(<structured-type>)
parameter as a Ref object in the Java programming language. |
ResultSet |
getResultSet()
Returns the current result as a ResultSet object. |
short |
getShort(int parameterIndex)
Gets the value of a JDBC SMALLINT parameter as a short
in the Java programming language. |
String |
getString(int parameterIndex)
Retrieves the value of a JDBC CHAR, VARCHAR,
or LONGVARCHAR parameter as a String in
the Java programming language. |
Time |
getTime(int parameterIndex)
Get the value of a JDBC TIME parameter as a
java.sql.Time object. |
Time |
getTime(int parameterIndex,
Calendar cal)
Gets the value of a JDBC TIME parameter as a
java.sql.Time object, using
the given Calendar object
to construct the time. |
Timestamp |
getTimestamp(int parameterIndex)
Gets the value of a JDBC TIMESTAMP parameter as a
java.sql.Timestamp object. |
Timestamp |
getTimestamp(int parameterIndex,
Calendar cal)
Gets the value of a JDBC TIMESTAMP parameter as a
java.sql.Timestamp object, using
the given Calendar object to construct
the Timestamp object. |
protected boolean |
internalExecute(boolean sendOutParams)
Execute statement internally. |
protected void |
prepareFixedStatement(String sql,
boolean describeBind)
We allow multiple calls to this method without re-preparing the statement. |
void |
registerOutParameter(int parameterIndex,
int sqlType)
Registers the OUT parameter in ordinal position parameterIndex to the JDBC type
sqlType. |
void |
registerOutParameter(int parameterIndex,
int sqlType,
int scale)
Registers the parameter in ordinal position parameterIndex to be of JDBC type
sqlType. |
void |
setArray(int i,
Array x)
Sets the designated parameter to the given Array object. |
void |
setAsciiStream(int parameterIndex,
InputStream x,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
void |
setBigDecimal(int parameterIndex,
BigDecimal x)
Sets the designated parameter to the given BigDecimal |
void |
setBinaryStream(int parameterIndex,
InputStream inputStream,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
void |
setBlob(int parameterIndex,
Blob blob)
Sets the designated parameter to the given Blob object. |
void |
setBoolean(int parameterIndex,
boolean x)
Sets the designated parameter to the given boolean value. |
void |
setByte(int parameterIndex,
byte x)
Sets the designated parameter to the given byte value. |
void |
setBytes(int parameterIndex,
byte[] x)
Set the designated parameter to the given byte array. |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
Sets the designated parameter to the given Reader object,
which is the given number of characters long. |
void |
setClob(int parameterIndex,
Clob x)
Sets the designated parameter to the given Clob object. |
void |
setDate(int parameterIndex,
Date x)
Sets the designated parameter to the given date value. |
void |
setDate(int parameterIndex,
Date x,
Calendar cal)
Sets the designated parameter to the given java.sql.Date
value, using the given Calendar object. |
void |
setDouble(int parameterIndex,
double x)
Sets the designated parameter to the given double value. |
void |
setFloat(int parameterIndex,
float x)
Sets the designated parameter to the given floate value. |
void |
setInt(int parameterIndex,
int x)
Sets the designated parameter to the given int value. |
void |
setLong(int parameterIndex,
long x)
Sets the designated parameter to the given long value. |
void |
setNull(int parameterIndex,
int sqlType)
Sets the designated parameter to SQL NULL. |
void |
setNull(int parameterIndex,
int sqlType,
String typeName)
Sets the designated parameter to SQL NULL. |
void |
setObject(int parameterIndex,
Object x)
Sets the value of the designated parameter with the given object. |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType)
Sets the value of the designated parameter with the given object. |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType,
int scale)
Sets the value of the designated parameter with the given object. |
void |
setRef(int parameterIndex,
Ref x)
Sets the designated parameter to the given REF(<structured-type>) value. |
protected void |
setRequiredTypes()
Set required types for output parameters. |
void |
setSelectableProcedure(boolean selectableProcedure)
Mark this callable statement as a call of the selectable procedure. |
void |
setShort(int parameterIndex,
short x)
Sets the designated parameter to the given short value. |
void |
setString(int parameterIndex,
String x)
Sets the designated parameter to the given String value. |
void |
setTime(int parameterIndex,
Time x)
Sets the designated parameter to the given Time value. |
void |
setTime(int parameterIndex,
Time x,
Calendar cal)
Sets the designated parameter to the given java.sql.Time
value, using the given Calendar object. |
void |
setTimestamp(int parameterIndex,
Timestamp x)
Sets the designated parameter to the given Timestamp value. |
void |
setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
Sets the designated parameter to the given java.sql.Timestamp value, using the given
Calendar object. |
void |
setUnicodeStream(int parameterIndex,
InputStream x,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
boolean |
wasNull()
Indicates whether or not the last OUT parameter read had the value of SQL NULL. |
| Methods inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement |
|---|
clearParameters, completeStatement, getExecutionPlan, getField, getStatementType, getXsqlvar, notifyStatementCompleted, setStringForced |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement |
|---|
getExecutionPlan, getStatementType |
| Methods inherited from interface org.firebirdsql.jdbc.FirebirdStatement |
|---|
getDeletedRowsCount, getInsertedRowsCount, getLastExecutionPlan, getUpdatedRowsCount, hasOpenResultSet, isValid |
| Methods inherited from interface java.sql.PreparedStatement |
|---|
clearParameters, getParameterMetaData, setAsciiStream, setAsciiStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setCharacterStream, setCharacterStream, setClob, setClob, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setRowId, setSQLXML, setURL |
| Methods inherited from interface java.sql.Wrapper |
|---|
isWrapperFor, unwrap |
| Field Detail |
|---|
protected boolean selectableProcedure
protected FBProcedureCall procedureCall
| Constructor Detail |
|---|
protected AbstractCallableStatement(GDSHelper c,
String sql,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener)
throws SQLException
SQLException| Method Detail |
|---|
public void addBatch()
throws SQLException
AbstractPreparedStatementPreparedStatement
object's batch of commands.
addBatch in interface PreparedStatementaddBatch in class AbstractPreparedStatementSQLException - if a database access error occursStatement.addBatch(java.lang.String),
What Is in the JDBC 2.0 API
public void clearBatch()
throws SQLException
AbstractPreparedStatement
clearBatch in interface StatementclearBatch in class AbstractPreparedStatementSQLException - if a database access error occurs or the driver does not
support batch statements
public int[] executeBatch()
throws SQLException
AbstractPreparedStatementint 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 method executeBatch may be one of
the following:
-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 a BatchUpdateException, 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 method
BatchUpdateException.getUpdateCounts will contain as many
elements as there are commands in the batch, and at least one of the
elements will be the following:
-3-- indicates that the command failed to
execute successfully and occurs only if a driver continues to process
commands after a command fails
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
BatchUpdateException obejct has been thrown.
executeBatch in interface StatementexecuteBatch in class AbstractPreparedStatementSQLException - if a database access error occurs or the driver does not
support batch statements. Throws
BatchUpdateException(a subclass of
SQLException) if one of the commands sent
to the database fails to execute properly or attempts to
return a result set.public void setSelectableProcedure(boolean selectableProcedure)
FirebirdCallableStatement
setSelectableProcedure in interface FirebirdCallableStatementselectableProcedure - true if the called procedure is selectable.
protected void setRequiredTypes()
throws SQLException
SQLException - if something went wrong.
protected void prepareFixedStatement(String sql,
boolean describeBind)
throws GDSException,
SQLException
prepareFixedStatement in class AbstractPreparedStatementGDSException
SQLException
public ResultSetMetaData getMetaData()
throws SQLException
getMetaData in interface PreparedStatementgetMetaData in class AbstractPreparedStatementResultSet object's columns
SQLException - if a database access error occurs
public boolean execute()
throws SQLException
execute
method handles these complex statements as well as the simpler
form of statements handled by the methods executeQuery
and executeUpdate.
execute in interface PreparedStatementexecute in class AbstractPreparedStatementSQLException - if a database access error occursStatement.execute(java.lang.String)
public ResultSet executeQuery()
throws SQLException
executeQuery in interface PreparedStatementexecuteQuery in class AbstractPreparedStatementResultSet object that contains the data produced
by the query; never null
SQLException - if a database access error occurs
public int executeUpdate()
throws SQLException
executeUpdate in interface PreparedStatementexecuteUpdate in class AbstractPreparedStatementSQLException - if a database access error occurs
protected boolean internalExecute(boolean sendOutParams)
throws SQLException
internalExecute in class AbstractPreparedStatementtrue if the statement has more result sets.
SQLException
public void registerOutParameter(int parameterIndex,
int sqlType)
throws SQLException
parameterIndex to the JDBC type
sqlType. All OUT parameters must be registered
before a stored procedure is executed.
The JDBC type specified by sqlType for an OUT
parameter determines the Java type that must be used
in the get 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 be java.sql.Types.OTHER. The method
getObject(int) retrieves the value.
registerOutParameter in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so onsqlType - the JDBC type code defined by java.sql.Types.
If the parameter is of JDBC type NUMERIC
or DECIMAL, the version of
registerOutParameter that accepts a scale value
should be used.
SQLException - if a database access error occursTypes
public void registerOutParameter(int parameterIndex,
int sqlType,
int scale)
throws SQLException
parameterIndex to be of JDBC type
sqlType. This method must be called
before a stored procedure is executed.
The JDBC type specified by sqlType for an OUT
parameter determines the Java type that must be used
in the get method to read the value of that parameter.
This version of registerOutParameter should be
used when the parameter is of JDBC type NUMERIC
or DECIMAL.
registerOutParameter in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so onsqlType - SQL type code defined by java.sql.Types.scale - the desired number of digits to the right of the
decimal point. It must be greater than or equal to zero.
SQLException - if a database access error occursTypes
public boolean wasNull()
throws SQLException
NULL. Note that this method should be called only after
calling a getXXX method; otherwise, there is no value to use in
determining whether it is null or not.
wasNull in interface CallableStatementtrue if the last parameter read was SQL
NULL; false otherwise
SQLException - if a database access error occurs
public String getString(int parameterIndex)
throws SQLException
CHAR, VARCHAR,
or LONGVARCHAR parameter as a String in
the Java programming language.
For the fixed-length type JDBC CHAR,
the String object
returned has exactly the same value the JDBC
CHAR value had in the
database, including any padding added by the database.
getString in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is null.
SQLException - if a database access error occurs
public boolean getBoolean(int parameterIndex)
throws SQLException
BIT parameter as a boolean
in the Java programming language.
getBoolean in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is false.
SQLException - if a database access error occurs
public byte getByte(int parameterIndex)
throws SQLException
TINYINT parameter as a byte
in the Java programming language.
getByte in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public short getShort(int parameterIndex)
throws SQLException
SMALLINT parameter as a short
in the Java programming language.
getShort in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public int getInt(int parameterIndex)
throws SQLException
INTEGER parameter as an int
in the Java programming language.
getInt in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public long getLong(int parameterIndex)
throws SQLException
BIGINT parameter as a long
in the Java programming language.
getLong in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public float getFloat(int parameterIndex)
throws SQLException
FLOAT parameter as a float
in the Java programming language.
getFloat in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public double getDouble(int parameterIndex)
throws SQLException
DOUBLE parameter as a double
in the Java programming language.
getDouble in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is 0.
SQLException - if a database access error occurs
public BigDecimal getBigDecimal(int parameterIndex,
int scale)
throws SQLException
NUMERIC parameter as a
java.math.BigDecimal object with scale digits to
the right of the decimal point.
getBigDecimal in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so onscale - the number of digits to the right of the decimal point
NULL, the result is
null.
SQLException - if a database access error occurs
public byte[] getBytes(int parameterIndex)
throws SQLException
BINARY or VARBINARY
parameter as an array of byte values in the Java
programming language.
getBytes in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result is
null.
SQLException - if a database access error occurs
public Date getDate(int parameterIndex)
throws SQLException
DATE parameter as a
java.sql.Date object.
getDate in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is null.
SQLException - if a database access error occurs
public Time getTime(int parameterIndex)
throws SQLException
TIME parameter as a
java.sql.Time object.
getTime in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is null.
SQLException - if a database access error occurs
public Timestamp getTimestamp(int parameterIndex)
throws SQLException
TIMESTAMP parameter as a
java.sql.Timestamp object.
getTimestamp in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result
is null.
SQLException - if a database access error occurs
public Object getObject(int parameterIndex)
throws SQLException
Object 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 method
registerOutParameter. By registering the target JDBC
type as java.sql.Types.OTHER, this method can be used
to read database-specific abstract data types.
getObject in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
java.lang.Object holding the OUT parameter value.
SQLException - if a database access error occursTypes
public BigDecimal getBigDecimal(int parameterIndex)
throws SQLException
NUMERIC parameter as a
java.math.BigDecimal object with as many digits to the
right of the decimal point as the value contains.
getBigDecimal in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
NULL, the result is null.
SQLException - if a database access error occurs
public Object getObject(int parameterIndex,
Map map)
throws SQLException
i and uses map 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 method
registerOutParameter. By registering the target
JDBC type as java.sql.Types.OTHER, this method can
be used to read database-specific abstract data types.
getObject in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2, and so onmap - the mapping from SQL type names to Java classes
java.lang.Object holding the OUT parameter value
SQLException - if a database access error occurs
public Ref getRef(int parameterIndex)
throws SQLException
REF(<structured-type>)
parameter as a Ref object in the Java programming language.
getRef in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so on
Ref object in the
Java programming language. If the value was SQL NULL, the value
null is returned.
SQLException - if a database access error occurs
public Blob getBlob(int parameterIndex)
throws SQLException
BLOB parameter as a
Blob object in the Java programming language.
getBlob in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2, and so on
Blob object in the
Java programming language. If the value was SQL NULL, the value
null is returned.
SQLException - if a database access error occurs
public Clob getClob(int parameterIndex)
throws SQLException
CLOB parameter as a
Clob object in the Java programming language.
getClob in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2, and
so on
Clob object in the
Java programming language. If the value was SQL NULL, the
value null is returned.
SQLException - if a database access error occurs
public Array getArray(int parameterIndex)
throws SQLException
ARRAY parameter as an
Array object in the Java programming language.
getArray in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2, and
so on
Array object in
the Java programming language. If the value was SQL NULL, the
value null is returned.
SQLException - if a database access error occurs
public Date getDate(int parameterIndex,
Calendar cal)
throws SQLException
DATE parameter as a
java.sql.Date object, using
the given Calendar object
to construct the date.
With a Calendar object, the driver
can calculate the date taking into account a custom timezone and locale.
If no Calendar object is specified, the driver uses the
default timezone and locale.
getDate in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the date
NULL, the result is
null.
SQLException - if a database access error occurs
public Time getTime(int parameterIndex,
Calendar cal)
throws SQLException
TIME parameter as a
java.sql.Time object, using
the given Calendar object
to construct the time.
With a Calendar object, the driver
can calculate the time taking into account a custom timezone and locale.
If no Calendar object is specified, the driver uses the
default timezone and locale.
getTime in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the time
NULL, the result is
null.
SQLException - if a database access error occurs
public Timestamp getTimestamp(int parameterIndex,
Calendar cal)
throws SQLException
TIMESTAMP parameter as a
java.sql.Timestamp object, using
the given Calendar object to construct
the Timestamp object.
With a Calendar object, the driver
can calculate the timestamp taking into account a custom timezone and locale.
If no Calendar object is specified, the driver uses the
default timezone and locale.
getTimestamp in interface CallableStatementparameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the timestamp
NULL, the result is
null.
SQLException - if a database access error occurs
protected void assertHasData(ResultSet rs)
throws SQLException
rs - result set to test
SQLException - when the result set has no data.
public ResultSet getCurrentResultSet()
throws SQLException
FirebirdStatementStatement.getResultSet(), except that this method
can be called as much as you like.
getCurrentResultSet in interface FirebirdStatementgetCurrentResultSet in class AbstractStatementResultSet representing current result set
or null if it is not available.
SQLException - if database access error happened.
public ResultSet getResultSet()
throws SQLException
ResultSet 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.
getResultSet in interface StatementgetResultSet in class AbstractStatementResultSet object;
null if the result is an update count or there are no more results
SQLException - if a database access error occursexecute()
public void setArray(int i,
Array x)
throws SQLException
AbstractPreparedStatementArray object.
Sets an Array parameter.
setArray in interface PreparedStatementsetArray in class AbstractPreparedStatementi - the first parameter is 1, the second is 2, ...x - an Array object that maps an SQL
ARRAY value
SQLException - if a database access error occurs
public void setAsciiStream(int parameterIndex,
InputStream x,
int length)
throws SQLException
AbstractPreparedStatementLONGVARCHAR parameter, it may be more practical to send
it via a java.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.
setAsciiStream in interface PreparedStatementsetAsciiStream in class AbstractPreparedStatementparameterIndex - 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
SQLException - if a database access error occurs
public void setBigDecimal(int parameterIndex,
BigDecimal x)
throws SQLException
AbstractPreparedStatement
setBigDecimal in interface PreparedStatementsetBigDecimal in class AbstractPreparedStatementparameterIndex - The first parameter is 1, second is 2, ...x - The BigDecimal to be set as a parameter
SQLException - if a database access error occurs
public void setBinaryStream(int parameterIndex,
InputStream inputStream,
int length)
throws SQLException
AbstractPreparedStatementNote: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
setBinaryStream in interface PreparedStatementsetBinaryStream in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...inputStream - the Java input streamlength - the number of bytes in the stream
SQLException - if a database access error occurs
public void setBlob(int parameterIndex,
Blob blob)
throws SQLException
AbstractPreparedStatementBlob object.
setBlob in interface PreparedStatementsetBlob in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...blob - a Blob object that maps an SQL
BLOB value
SQLException - if a database access error occurs
public void setBoolean(int parameterIndex,
boolean x)
throws SQLException
AbstractPreparedStatement
setBoolean in interface PreparedStatementsetBoolean in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The boolean value to be set
SQLException - if a database access occurs
public void setByte(int parameterIndex,
byte x)
throws SQLException
AbstractPreparedStatement
setByte in interface PreparedStatementsetByte in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The byte value to be set
SQLException - if a database access occurs
public void setBytes(int parameterIndex,
byte[] x)
throws SQLException
AbstractPreparedStatement
setBytes in interface PreparedStatementsetBytes in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The byte array to be set
SQLException - if a database access occurs
public void setCharacterStream(int parameterIndex,
Reader reader,
int length)
throws SQLException
AbstractPreparedStatementReader object,
which is the given number of characters long. When a very large UNICODE
value is input to a LONGVARCHAR parameter, it may be more
practical to send it via a java.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.
setCharacterStream in interface PreparedStatementsetCharacterStream in class AbstractPreparedStatementparameterIndex - 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
SQLException - if a database access error occurs
public void setClob(int parameterIndex,
Clob x)
throws SQLException
AbstractPreparedStatementClob object.
setClob in interface PreparedStatementsetClob in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - a Clob object that maps an SQL
CLOB value
SQLException - if a database access error occurs
public void setDate(int parameterIndex,
Date x,
Calendar cal)
throws SQLException
AbstractPreparedStatementjava.sql.Date
value, using the given Calendar object. The driver uses
the Calendar object to construct an SQL DATE
value, which the driver then sends to the database. With a a
Calendar object, the driver can calculate the date taking
into account a custom timezone. If no Calendar object is
specified, the driver uses the default timezone, which is that of the
virtual machine running the application.
setDate in interface PreparedStatementsetDate in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use to
construct the date
SQLException - if a database access error occurs
public void setDate(int parameterIndex,
Date x)
throws SQLException
AbstractPreparedStatement
setDate in interface PreparedStatementsetDate in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The date value to be set
SQLException - if a database access occurs
public void setDouble(int parameterIndex,
double x)
throws SQLException
AbstractPreparedStatement
setDouble in interface PreparedStatementsetDouble in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The double value to be set
SQLException - if a database access occurs
public void setFloat(int parameterIndex,
float x)
throws SQLException
AbstractPreparedStatement
setFloat in interface PreparedStatementsetFloat in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The float value to be set
SQLException - if a database access occurs
public void setInt(int parameterIndex,
int x)
throws SQLException
AbstractPreparedStatement
setInt in interface PreparedStatementsetInt in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The int value to be set
SQLException - if a database access occurs
public void setLong(int parameterIndex,
long x)
throws SQLException
AbstractPreparedStatement
setLong in interface PreparedStatementsetLong in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The long value to be set
SQLException - if a database access occurs
public void setNull(int parameterIndex,
int sqlType,
String typeName)
throws SQLException
AbstractPreparedStatementNULL. This version
of the method setNull 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.
setNull in interface PreparedStatementsetNull in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...sqlType - a value from java.sql.TypestypeName - the fully-qualified name of an SQL user-defined type; ignored
if the parameter is not a user-defined type or REF
SQLException - if a database access error occurs
public void setNull(int parameterIndex,
int sqlType)
throws SQLException
AbstractPreparedStatementNULL.
Note: You must specify the parameter's SQL type.
setNull in interface PreparedStatementsetNull in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...sqlType - the SQL type code defined in java.sql.Types
SQLException - if a database access error occurs
public void setObject(int parameterIndex,
Object x,
int targetSqlType,
int scale)
throws SQLException
AbstractPreparedStatement
Sets the value of the designated parameter with the given object. The
second argument must be an object type; for integral values, the
java.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
interface SQLData), the JDBC driver should call the
method SQLData.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.
setObject in interface PreparedStatementsetObject in class AbstractPreparedStatementparameterIndex - 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.
SQLException - if a database access error occursTypes
public void setObject(int parameterIndex,
Object x,
int targetSqlType)
throws SQLException
AbstractPreparedStatementsetObject above, except that it
assumes a scale of zero.
setObject in interface PreparedStatementsetObject in class AbstractPreparedStatementparameterIndex - 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
SQLException - if a database access error occurs
public void setObject(int parameterIndex,
Object x)
throws SQLException
AbstractPreparedStatement
setObject in interface PreparedStatementsetObject in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the object containing the parameter value
SQLException - if a database access error occurs
public void setRef(int parameterIndex,
Ref x)
throws SQLException
AbstractPreparedStatementREF(<structured-type>) value.
setRef in interface PreparedStatementsetRef in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - an SQL REF value
SQLException - if a database access error occurs
public void setShort(int parameterIndex,
short x)
throws SQLException
AbstractPreparedStatement
setShort in interface PreparedStatementsetShort in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The short value to be set
SQLException - if a database access occurs
public void setString(int parameterIndex,
String x)
throws SQLException
AbstractPreparedStatement
setString in interface PreparedStatementsetString in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The String value to be set
SQLException - if a database access occurs
public void setTime(int parameterIndex,
Time x,
Calendar cal)
throws SQLException
AbstractPreparedStatementjava.sql.Time
value, using the given Calendar object. The driver uses
the Calendar object to construct an SQL TIME
value, which the driver then sends to the database. With a a
Calendar object, the driver can calculate the time taking
into account a custom timezone. If no Calendar object is
specified, the driver uses the default timezone, which is that of the
virtual machine running the application.
setTime in interface PreparedStatementsetTime in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use to
construct the time
SQLException - if a database access error occurs
public void setTime(int parameterIndex,
Time x)
throws SQLException
AbstractPreparedStatement
setTime in interface PreparedStatementsetTime in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The Time value to be set
SQLException - if a database access occurs
public void setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
throws SQLException
AbstractPreparedStatementjava.sql.Timestamp value, using the given
Calendar object. The driver uses the Calendar
object to construct an SQL TIMESTAMP value, which the
driver then sends to the database. With a a Calendar
object, the driver can calculate the timestamp taking into account a
custom timezone. If no Calendar object is specified, the
driver uses the default timezone, which is that of the virtual machine
running the application.
setTimestamp in interface PreparedStatementsetTimestamp in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use to
construct the timestamp
SQLException - if a database access error occurs
public void setTimestamp(int parameterIndex,
Timestamp x)
throws SQLException
AbstractPreparedStatement
setTimestamp in interface PreparedStatementsetTimestamp in class AbstractPreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The Timestamp value to be set
SQLException - if a database access occurs
public void setUnicodeStream(int parameterIndex,
InputStream x,
int length)
throws SQLException
AbstractPreparedStatementLONGVARCHAR parameter, it may be more practical to
send it via a java.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.
setUnicodeStream in interface PreparedStatementsetUnicodeStream in class AbstractPreparedStatementparameterIndex - 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
SQLException - if a database access error occurs
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||