|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 occurspublic 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 Types
typeName
- 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.1 |
|||||||||
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 Oracle and/or its affiliates, in the US and other countries.
Copyright © 1995, 2010 Oracle and/or its affiliates. All rights reserved.