|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
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."
Connection.prepareCall(java.lang.String),
ResultSet| Method Summary | |
Array |
getArray(int i)
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 i)
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 i)
Gets the value of a JDBC CLOB parameter as a
Clob object in the Java programming language. |
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. |
Object |
getObject(int parameterIndex)
Gets the value of a parameter as an Object in the Java
programming language. |
Object |
getObject(int i,
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 i)
Gets the value of a JDBC REF(<structured-type>)
parameter as a Ref object in the Java programming language. |
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. |
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 |
registerOutParameter(int paramIndex,
int sqlType,
String typeName)
Registers the designated output parameter. |
boolean |
wasNull()
Indicates whether or not the last OUT parameter read had the value of SQL NULL. |
| 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, 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
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.
parameterIndex - 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.
parameterIndex - 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.true if the last parameter read was SQL
NULL; false otherwiseSQLException - 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.
parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onscale - the number of digits to the right of the decimal pointNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, 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.
parameterIndex - the first parameter is 1, the second is 2,
and so onjava.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.parameterIndex - the first parameter is 1, the second is 2,
and so onNULL, the result is null.SQLException - if a database access error occurs
public Object getObject(int i,
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.
i - the first parameter is 1, the second is 2, and so onmap - the mapping from SQL type names to Java classesjava.lang.Object holding the OUT parameter valueSQLException - if a database access error occurs
public Ref getRef(int i)
throws SQLException
REF(<structured-type>)
parameter as a Ref object in the Java programming language.i - the first parameter is 1, the second is 2,
and so onRef 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 i)
throws SQLException
BLOB parameter as a
Blob object in the Java programming language.i - the first parameter is 1, the second is 2, and so onBlob 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 i)
throws SQLException
CLOB parameter as a
Clob object in the Java programming language.i - the first parameter is 1, the second is 2, and
so onClob 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 i)
throws SQLException
ARRAY parameter as an
Array object in the Java programming language.i - the first parameter is 1, the second is 2, and
so onArray 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.parameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the dateNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the timeNULL, 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.parameterIndex - the first parameter is 1, the second is 2,
and so oncal - the Calendar object the driver will use
to construct the timestampNULL, the result is
null.SQLException - if a database access error occurs
public void registerOutParameter(int paramIndex,
int sqlType,
String typeName)
throws SQLException
registerOutParameter
should be used for a user-named or REF output parameter. Examples
of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and
named array types.
Before executing a stored procedure call, you must explicitly
call registerOutParameter to register the type from
java.sql.Types for each
OUT parameter. For a user-named parameter the fully-qualified SQL
type name of the parameter should also be given, while a REF
parameter requires that the fully-qualified type name of the
referenced type be given. A JDBC driver that does not need the
type code and type name information may ignore it. To be portable,
however, applications should always provide these values for
user-named and REF parameters.
Although it is intended for user-named and REF parameters,
this method may be used to register a parameter of any JDBC type.
If the parameter does not have a user-named or REF type, the
typeName parameter is ignored.
Note: When reading the value of an out parameter, you
must use 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 - a value from TypestypeName - the fully-qualified name of an SQL structured typeSQLException - if a database access error occursTypes,
What Is in the JDBC 2.0 API
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.