|
Java Platform 1.2 Beta 4 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
CallableStatement is used to execute SQL stored procedures.
JDBC provides a stored procedure SQL escape that allows stored procedures to be called in a standard way for all RDBMS's. 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 may be used for input, output or both. Parameters are refered to sequentially, by number. The first parameter is 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 Callable statement may return a ResultSet or multiple ResultSets. Multiple ResultSets are handled using operations inherited from Statement.
For maximum portability, a call's ResultSets and update counts should be processed prior to getting the values of output parameters.
Connection.prepareCall(java.lang.String)
,
ResultSet
Method Summary | |
Array | getArray(int i)
JDBC 2.0 Get an Array OUT parameter. |
BigDecimal | getBigDecimal(int parameterIndex,
int scale)
Deprecated. |
BigDecimal | getBigDecimal(int parameterIndex)
JDBC 2.0 Get the value of a NUMERIC parameter as a java.math. |
Blob | getBlob(int i)
JDBC 2.0 Get a BLOB OUT parameter. |
boolean | getBoolean(int parameterIndex)
Get the value of a BIT parameter as a Java boolean. |
byte | getByte(int parameterIndex)
Get the value of a TINYINT parameter as a Java byte. |
byte[] | getBytes(int parameterIndex)
Get the value of a SQL BINARY or VARBINARY parameter as a Java byte[] |
Clob | getClob(int i)
JDBC 2.0 Get a CLOB OUT parameter. |
Date | getDate(int parameterIndex,
Calendar cal)
Get the value of a SQL DATE parameter as a java.sql. |
Date | getDate(int parameterIndex)
Get the value of a SQL DATE parameter as a java.sql. |
double | getDouble(int parameterIndex)
Get the value of a DOUBLE parameter as a Java double. |
float | getFloat(int parameterIndex)
Get the value of a FLOAT parameter as a Java float. |
int | getInt(int parameterIndex)
Get the value of an INTEGER parameter as a Java int. |
long | getLong(int parameterIndex)
Get the value of a BIGINT parameter as a Java long. |
Object | getObject(int i,
Map map)
JDBC 2.0 Returns an object representing the value of OUT parameter @i. |
Object | getObject(int parameterIndex)
Get the value of a parameter as a Java object. |
Ref | getRef(int i)
JDBC 2.0 Get a REF(<structured-type>) OUT parameter. |
short | getShort(int parameterIndex)
Get the value of a SMALLINT parameter as a Java short. |
String | getString(int parameterIndex)
Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a Java String. |
Time | getTime(int parameterIndex,
Calendar cal)
Get the value of a SQL TIME parameter as a java.sql. |
Time | getTime(int parameterIndex)
Get the value of a SQL TIME parameter as a java.sql. |
Timestamp | getTimestamp(int parameterIndex,
Calendar cal)
Get the value of a SQL TIMESTAMP parameter as a java.sql. |
Timestamp | getTimestamp(int parameterIndex)
Get the value of a SQL TIMESTAMP parameter as a java.sql. |
void | registerOutParameter(int parameterIndex,
int sqlType,
int scale)
Use this version of registerOutParameter for registering Numeric or Decimal out parameters. |
void | registerOutParameter(int parameterIndex,
int sqlType)
Before executing a stored procedure call, you must explicitly call registerOutParameter to register the java.sql. |
boolean | wasNull()
An OUT parameter may have the value of SQL NULL; wasNull reports whether the last value read has this special value. |
Methods inherited from interface java.sql.PreparedStatement | |
addBatch , clearParameters , execute , executeQuery , executeUpdate , getMetaData , setArray , setAsciiStream , setBigDecimal , setBinaryStream , setBlob , setBoolean , setByte , setBytes , setCharacterStream , setClob , setDate , setDate , setDouble , setFloat , setInt , setLong , setNull , setObject , setObject , setObject , setRef , setShort , setString , setTime , setTime , setTimestamp , setTimestamp , setUnicodeStream |
Methods inherited from interface java.sql.Statement | |
addBatch , cancel , clearBatch , clearWarnings , close , execute , executeBatch , executeQuery , executeUpdate , getConnection , getFetchDirection , getFetchSize , getMaxFieldSize , getMaxRows , getMoreResults , getQueryTimeout , getResultSet , getResultSetConcurrency , getResultSetType , getUpdateCount , getWarnings , setCursorName , setEscapeProcessing , setFetchDirection , setFetchSize , setMaxFieldSize , setMaxRows , setQueryTimeout |
Method Detail |
public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
Note: When reading the value of an out parameter, you must use the getXXX method whose Java type XXX corresponds to the parameter's registered SQL type.
parameterIndex
- the first parameter is 1, the second is 2,...
sqlType
- SQL type code defined by java.sql.Types;
for parameters of type Numeric or Decimal use the version of
registerOutParameter that accepts a scale valueType
public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
Note: When reading the value of an out parameter, you must use the getXXX method whose Java type XXX corresponds to the parameter's registered SQL type.
parameterIndex
- the first parameter is 1, the second is 2, ...
sqlType
- use either java.sql.Type.NUMERIC or java.sql.Type.DECIMAL
scale
- a value greater than or equal to zero representing the
desired number of digits to the right of the decimal pointType
public boolean wasNull() throws SQLException
Note: You must first call getXXX on a parameter to read its value and then call wasNull() to see if the value was SQL NULL.
public String getString(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public boolean getBoolean(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public byte getByte(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public short getShort(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public int getInt(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public long getLong(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public float getFloat(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public double getDouble(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...
scale
- a value greater than or equal to zero representing the
desired number of digits to the right of the decimal pointpublic byte[] getBytes(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Date getDate(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Time getTime(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Timestamp getTimestamp(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Object getObject(int parameterIndex) throws SQLException
This method returns a Java object whose type coresponds to the SQL type that was registered for this parameter using registerOutParameter.
Note that this method may be used to read datatabase-specific, abstract data types. This is done by specifying a targetSqlType of java.sql.types.OTHER, which allows the driver to return a database-specific Java type. JDBC 2.0 The behavior of method getObject() is extended to materialize data of SQL user-defined types. When the OUT parameter @i is a UDT value, the behavior of this method is as if it were a call to: getObject(i, this.getConnection().getTypeMap())
parameterIndex
- The first parameter is 1, the second is 2, ...Types
public BigDecimal getBigDecimal(int parameterIndex) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Object getObject(int i, Map map) throws SQLException
i
- the first parameter is 1, the second is 2, ...
map
- the mapping from SQL type names to Java classespublic Ref getRef(int i) throws SQLException
i
- the first parameter is 1, the second is 2, ...public Blob getBlob(int i) throws SQLException
i
- the first parameter is 1, the second is 2, ...public Clob getClob(int i) throws SQLException
i
- the first parameter is 1, the second is 2, ...public Array getArray(int i) throws SQLException
i
- the first parameter is 1, the second is 2, ...public Date getDate(int parameterIndex, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Time getTime(int parameterIndex, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...
|
Java Platform 1.2 Beta 4 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |