| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectorg.firebirdsql.jdbc.AbstractStatementorg.firebirdsql.jdbc.AbstractPreparedStatementorg.firebirdsql.jdbc.AbstractCallableStatementpublic abstract class AbstractCallableStatementextends AbstractPreparedStatementimplements CallableStatement, FirebirdCallableStatement
{?= 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, ResultSetField 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 SQLExceptionpublic void addBatch()
throws SQLExceptionAdds a set of parameters to thisPreparedStatementobject'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 SQLExceptionAsserts 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 SQLExceptionMakes 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 SQLExceptionExecutes an execute stored procedure. Some prepared statements return multiple results; theexecutemethod handles these complex statements as well as the simpler form of statements handled by the methodsexecuteQueryandexecuteUpdate.
- Overrides:
- execute in interface AbstractPreparedStatement
- See Also:
Statement.execute
public int[] executeBatch()
throws SQLExceptionSubmits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. Theintelements 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 methodexecuteBatchmay 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.getUpdateCountswill 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 failsBatchUpdateExceptionobejct 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 SQLExceptionExecute query. This method prepares statement before execution. Rest of the processing is done by superclass.
- Overrides:
- executeQuery in interface AbstractPreparedStatement
public int executeUpdate()
throws SQLExceptionExecute 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 SQLExceptionGets the value of a JDBCARRAYparameter as anArrayobject 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
Arrayobject in the Java programming language. If the value was SQLNULL, the valuenullis returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public BigDecimal getBigDecimal(int parameterIndex)
throws SQLExceptionGets the value of a JDBCNUMERICparameter as ajava.math.BigDecimalobject 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 SQLExceptionDeprecated.
Gets the value of a JDBCNUMERICparameter as ajava.math.BigDecimalobject 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 SQLExceptionGets the value of a JDBCBLOBparameter as aBlobobject 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
Blobobject in the Java programming language. If the value was SQLNULL, the valuenullis returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public boolean getBoolean(int parameterIndex)
throws SQLExceptionGets the value of a JDBCBITparameter as abooleanin 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 SQLExceptionGets the value of a JDBCTINYINTparameter as abytein 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 SQLExceptionGets the value of a JDBCBINARYorVARBINARYparameter as an array ofbytevalues 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 SQLExceptionGets the value of a JDBCCLOBparameter as aClobobject 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
Clobobject in the Java programming language. If the value was SQLNULL, the valuenullis 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 SQLExceptionGets the value of a JDBCDATEparameter as ajava.sql.Dateobject.
- 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 SQLExceptionGets the value of a JDBCDATEparameter as ajava.sql.Dateobject, using the givenCalendarobject to construct the date. With aCalendarobject, the driver can calculate the date taking into account a custom timezone and locale. If noCalendarobject is specified, the driver uses the default timezone and locale.
- Parameters:
parameterIndex- the first parameter is 1, the second is 2, and so oncal- theCalendarobject 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 SQLExceptionGets the value of a JDBCDOUBLEparameter as adoublein 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 SQLExceptionGets the value of a JDBCFLOATparameter as afloatin 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 SQLExceptionGets the value of a JDBCINTEGERparameter as anintin 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 SQLExceptionGets the value of a JDBCBIGINTparameter as alongin 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 SQLExceptionSince 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 SQLExceptionGets the value of a parameter as anObjectin 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.Objectholding the OUT parameter value.
- See Also:
Types
public Object getObject(int parameterIndex,
Map map)
throws SQLExceptionReturns an object representing the value of OUT parameteriand usesmapfor 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.Objectholding the OUT parameter value
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public Ref getRef(int parameterIndex)
throws SQLExceptionGets the value of a JDBCREF(<structured-type>)parameter as aRefobject 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
Refobject in the Java programming language. If the value was SQLNULL, the valuenullis returned.
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public ResultSet getResultSet()
throws SQLExceptionReturns the current result as aResultSetobject. 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
ResultSetobject;nullif the result is an update count or there are no more results
- See Also:
execute()
public short getShort(int parameterIndex)
throws SQLExceptionGets the value of a JDBCSMALLINTparameter as ashortin 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 SQLExceptionRetrieves the value of a JDBCCHAR,VARCHAR, orLONGVARCHARparameter as aStringin the Java programming language. For the fixed-length type JDBCCHAR, theStringobject returned has exactly the same value the JDBCCHARvalue 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 SQLExceptionGet the value of a JDBCTIMEparameter as ajava.sql.Timeobject.
- 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 SQLExceptionGets the value of a JDBCTIMEparameter as ajava.sql.Timeobject, using the givenCalendarobject to construct the time. With aCalendarobject, the driver can calculate the time taking into account a custom timezone and locale. If noCalendarobject is specified, the driver uses the default timezone and locale.
- Parameters:
parameterIndex- the first parameter is 1, the second is 2, and so oncal- theCalendarobject 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 SQLExceptionGets the value of a JDBCTIMESTAMPparameter as ajava.sql.Timestampobject.
- 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 SQLExceptionGets the value of a JDBCTIMESTAMPparameter as ajava.sql.Timestampobject, using the givenCalendarobject to construct theTimestampobject. With aCalendarobject, the driver can calculate the timestamp taking into account a custom timezone and locale. If noCalendarobject is specified, the driver uses the default timezone and locale.
- Parameters:
parameterIndex- the first parameter is 1, the second is 2, and so oncal- theCalendarobject 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 SQLExceptionExecute 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,
SQLExceptionWe 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 SQLExceptionRegisters the OUT parameter in ordinal positionparameterIndexto the JDBC typesqlType. All OUT parameters must be registered before a stored procedure is executed. The JDBC type specified bysqlTypefor an OUT parameter determines the Java type that must be used in thegetmethod 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,sqlTypeshould bejava.sql.Types.OTHER. The methodgetObjectretrieves 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 typeNUMERICorDECIMAL, the version ofregisterOutParameterthat accepts a scale value should be used.
- See Also:
Types
public void registerOutParameter(int parameterIndex,
int sqlType,
int scale)
throws SQLExceptionRegisters the parameter in ordinal positionparameterIndexto be of JDBC typesqlType. This method must be called before a stored procedure is executed. The JDBC type specified bysqlTypefor an OUT parameter determines the Java type that must be used in thegetmethod to read the value of that parameter. This version ofregisterOutParametershould be used when the parameter is of JDBC typeNUMERICorDECIMAL.
- 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 SQLExceptionSets the designated parameter to the givenArrayobject. Sets an Array parameter.
- Overrides:
- setArray in interface AbstractPreparedStatement
- Parameters:
i- the first parameter is 1, the second is 2, ...x- anArrayobject that maps an SQLARRAYvalue
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setAsciiStream(int parameterIndex,
InputStream x,
int length)
throws SQLExceptionSets 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 aLONGVARCHARparameter, 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 SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets the designated parameter to the givenBlobobject.
- Overrides:
- setBlob in interface AbstractPreparedStatement
- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...blob- aBlobobject that maps an SQLBLOBvalue
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setBoolean(int parameterIndex,
boolean x)
throws SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSet 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 SQLExceptionSets the designated parameter to the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. 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 SQLExceptionSets the designated parameter to the givenClobobject.
- Overrides:
- setClob in interface AbstractPreparedStatement
- Parameters:
x- aClobobject that maps an SQLCLOBvalue
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
public void setDate(int parameterIndex,
java.sql.Date x)
throws SQLExceptionpublic void setDate(int parameterIndex,
java.sql.Date x,
Calendar cal)
throws SQLExceptionpublic void setDouble(int parameterIndex,
double x)
throws SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets the designated parameter to SQLNULL. This version of the methodsetNullshould 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.TypestypeName- 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 SQLExceptionSets 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 SQLExceptionSets the value of the designated parameter with the given object. This method is like the methodsetObjectabove, 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 SQLExceptionSets the value of the designated parameter with the given object. The second argument must be an object type; for integral values, thejava.langequivalent 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.writeSQLto 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 SQLExceptionSets the designated parameter to the givenREF(<structured-type>)value.
- Overrides:
- setRef in interface AbstractPreparedStatement
- Parameters:
x- an SQLREFvalue
- Since:
- 1.2
- See Also:
What Is in the JDBC 2.0 API
protected void setRequiredTypes()
throws SQLExceptionSet required types for output parameters.
public void setSelectableProcedure(boolean selectableProcedure)
- Specified by:
- setSelectableProcedure in interface FirebirdCallableStatement
public void setShort(int parameterIndex,
short x)
throws SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets 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 SQLExceptionSets the designated parameter to the givenjava.sql.Timevalue, using the givenCalendarobject. The driver uses theCalendarobject to construct an SQLTIMEvalue, which the driver then sends to the database. With a aCalendarobject, the driver can calculate the time taking into account a custom timezone. If noCalendarobject 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- theCalendarobject 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 SQLExceptionSets 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 SQLExceptionSets the designated parameter to the givenjava.sql.Timestampvalue, using the givenCalendarobject. The driver uses theCalendarobject to construct an SQLTIMESTAMPvalue, which the driver then sends to the database. With a aCalendarobject, the driver can calculate the timestamp taking into account a custom timezone. If noCalendarobject 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- theCalendarobject 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 SQLExceptionDeprecated. 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 aLONGVARCHARparameter, it may be more practical to send it via ajava.io.InputStreamobject. 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 SQLExceptionIndicates whether or not the last OUT parameter read had the value of SQLNULL. Note that this method should be called only after calling agetXXXmethod; otherwise, there is no value to use in determining whether it isnullor not.
- Returns:
trueif the last parameter read was SQLNULL;falseotherwise