public class MonitoredPreparedStatement
extends java.lang.Object
implements java.sql.PreparedStatement
This class is a wrapper for java.sql.PreparedStatement. All calls are passed through to an embedded instance of java.sql.PreparedStatement.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected static java.lang.String |
EXECUTE_PREPARED_QUERY |
protected static java.lang.String |
EXECUTE_PREPARED_UPDATE |
Constructor and Description |
---|
MonitoredPreparedStatement(java.sql.PreparedStatement pWrapped,
ApplicationLogging pLog,
ConnectionStats pStats,
java.lang.String pId)
Constructs a new wrapper java.sql.PreparedStatement wrapper
|
MonitoredPreparedStatement(java.sql.PreparedStatement pWrapped,
ApplicationLogging pLog,
ConnectionStats pStats,
java.lang.String pId,
java.lang.String pStatement)
Constructs a new wrapper java.sql.PreparedStatement wrapper
|
Modifier and Type | Method and Description |
---|---|
void |
addBatch()
Wraps the call to addBatch
|
void |
addBatch(java.lang.String p0)
Wraps the call to addBatch
|
void |
cancel()
Wraps the call to cancel
|
void |
clearBatch()
Wraps the call to clearBatch
|
void |
clearParameters()
Wraps the call to clearParameters
|
void |
clearWarnings()
Wraps the call to clearWarnings
|
void |
close()
Wraps the call to close
|
void |
closeOnCompletion()
Specifies that this
Statement will be closed when all its
dependent result sets are closed. |
boolean |
execute()
Wraps the call to execute
|
boolean |
execute(java.lang.String p0)
Wraps the call to execute
|
boolean |
execute(java.lang.String sql,
int autoGeneratedKeys)
Executes the given SQL statement, which may return multiple results,
and signals the driver that any
auto-generated keys should be made available
for retrieval.
|
boolean |
execute(java.lang.String sql,
int[] columnIndexes)
Executes the given SQL statement, which may return multiple results,
and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
boolean |
execute(java.lang.String sql,
java.lang.String[] columnNames)
Executes the given SQL statement, which may return multiple results,
and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
int[] |
executeBatch()
Wraps the call to executeBatch
|
java.sql.ResultSet |
executeQuery()
Wraps the call to executeQuery
|
java.sql.ResultSet |
executeQuery(java.lang.String p0)
Wraps the call to executeQuery
|
int |
executeUpdate()
Wraps the call to executeUpdate
|
int |
executeUpdate(java.lang.String p0)
Wraps the call to executeUpdate
|
int |
executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
Executes the given SQL statement and signals the driver with the
given flag about whether the
auto-generated keys produced by this
Statement object
should be made available for retrieval. |
int |
executeUpdate(java.lang.String sql,
int[] columnIndexes)
Executes the given SQL statement and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
int |
executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
Executes the given SQL statement and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
java.sql.Connection |
getConnection()
Wraps the call to getConnection
|
int |
getFetchDirection()
Wraps the call to getFetchDirection
|
int |
getFetchSize()
Wraps the call to getFetchSize
|
java.sql.ResultSet |
getGeneratedKeys()
Retrieves any auto-generated keys created as a result of executing this
Statement object. |
int |
getMaxFieldSize()
Wraps the call to getMaxFieldSize
|
int |
getMaxRows()
Wraps the call to getMaxRows
|
java.sql.ResultSetMetaData |
getMetaData()
Wraps the call to getMetaData
|
MonitoredConnection |
getMonitoredConnection() |
boolean |
getMoreResults()
Wraps the call to getMoreResults
|
boolean |
getMoreResults(int current)
Moves to this
Statement object's next result, deals with
any current ResultSet object(s) according to the instructions
specified by the given flag, and returns
true if the next result is a ResultSet object. |
java.sql.ParameterMetaData |
getParameterMetaData()
Retrieves the number, types and properties of this
PreparedStatement object's parameters. |
int |
getQueryTimeout()
Wraps the call to getQueryTimeout
|
java.sql.ResultSet |
getResultSet()
Wraps the call to getResultSet
|
int |
getResultSetConcurrency()
Wraps the call to getResultSetConcurrency
|
int |
getResultSetHoldability()
Retrieves the result set holdability for
ResultSet objects
generated by this Statement object. |
int |
getResultSetType()
Wraps the call to getResultSetType
|
int |
getUpdateCount()
Wraps the call to getUpdateCount
|
java.sql.SQLWarning |
getWarnings()
Wraps the call to getWarnings
|
java.sql.PreparedStatement |
getWrapped()
Returns the original statement that this MonitoredPreparedStatement is
monitoring.
|
boolean |
isClosed()
Retrieves whether this
Statement object has been closed. |
boolean |
isCloseOnCompletion()
Returns a value indicating whether this
Statement will be
closed when all its dependent result sets are closed. |
boolean |
isPoolable()
Returns a value indicating whether the
Statement
is poolable or not. |
boolean |
isWrapperFor(java.lang.Class<?> pInterface)
Returns true if this class implements the pInterface argument
|
void |
setArray(int p0,
java.sql.Array p1)
Wraps the call to setArray
|
void |
setAsciiStream(int arg0,
java.io.InputStream arg1)
Sets the designated parameter to the given input stream.
|
void |
setAsciiStream(int p0,
java.io.InputStream p1,
int p2)
Wraps the call to setAsciiStream
|
void |
setAsciiStream(int arg0,
java.io.InputStream arg1,
long arg2)
Sets the designated parameter to the given input stream, which will have
the specified number of bytes.
|
void |
setBigDecimal(int p0,
java.math.BigDecimal p1)
Wraps the call to setBigDecimal
|
void |
setBinaryStream(int arg0,
java.io.InputStream arg1)
Sets the designated parameter to the given input stream.
|
void |
setBinaryStream(int p0,
java.io.InputStream p1,
int p2)
Wraps the call to setBinaryStream
|
void |
setBinaryStream(int arg0,
java.io.InputStream arg1,
long arg2)
Sets the designated parameter to the given input stream, which will have
the specified number of bytes.
|
void |
setBlob(int p0,
java.sql.Blob p1)
Wraps the call to setBlob
|
void |
setBlob(int arg0,
java.io.InputStream arg1)
Sets the designated parameter to a
InputStream object. |
void |
setBlob(int arg0,
java.io.InputStream arg1,
long arg2)
Sets the designated parameter to a
InputStream object. |
void |
setBoolean(int p0,
boolean p1)
Wraps the call to setBoolean
|
void |
setByte(int p0,
byte p1)
Wraps the call to setByte
|
void |
setBytes(int p0,
byte[] p1)
Wraps the call to setBytes
|
void |
setCharacterStream(int arg0,
java.io.Reader arg1)
Sets the designated parameter to the given
Reader
object. |
void |
setCharacterStream(int p0,
java.io.Reader p1,
int p2)
Wraps the call to setCharacterStream
|
void |
setCharacterStream(int arg0,
java.io.Reader arg1,
long arg2)
Sets the designated parameter to the given
Reader
object, which is the given number of characters long. |
void |
setClob(int p0,
java.sql.Clob p1)
Wraps the call to setClob
|
void |
setClob(int arg0,
java.io.Reader arg1)
Sets the designated parameter to a
Reader object. |
void |
setClob(int arg0,
java.io.Reader arg1,
long arg2)
Sets the designated parameter to a
Reader object. |
void |
setCursorName(java.lang.String p0)
Wraps the call to setCursorName
|
void |
setDate(int p0,
java.sql.Date p1)
Wraps the call to setDate
|
void |
setDate(int p0,
java.sql.Date p1,
java.util.Calendar p2)
Wraps the call to setDate
|
void |
setDouble(int p0,
double p1)
Wraps the call to setDouble
|
void |
setEscapeProcessing(boolean p0)
Wraps the call to setEscapeProcessing
|
void |
setFetchDirection(int p0)
Wraps the call to setFetchDirection
|
void |
setFetchSize(int p0)
Wraps the call to setFetchSize
|
void |
setFloat(int p0,
float p1)
Wraps the call to setFloat
|
void |
setInt(int p0,
int p1)
Wraps the call to setInt
|
void |
setLong(int p0,
long p1)
Wraps the call to setLong
|
void |
setMaxFieldSize(int p0)
Wraps the call to setMaxFieldSize
|
void |
setMaxRows(int p0)
Wraps the call to setMaxRows
|
void |
setMonitoredConnection(MonitoredConnection pMonitoredConnection) |
void |
setNCharacterStream(int arg0,
java.io.Reader arg1)
Sets the designated parameter to a
Reader object. |
void |
setNCharacterStream(int arg0,
java.io.Reader arg1,
long arg2)
Sets the designated parameter to a
Reader object. |
void |
setNClob(int arg0,
java.sql.NClob arg1)
Sets the designated parameter to a
java.sql.NClob object. |
void |
setNClob(int arg0,
java.io.Reader arg1)
Sets the designated parameter to a
Reader object. |
void |
setNClob(int arg0,
java.io.Reader arg1,
long arg2)
Sets the designated parameter to a
Reader object. |
void |
setNString(int arg0,
java.lang.String arg1)
Sets the designated paramter to the given
String object. |
void |
setNull(int p0,
int p1)
Wraps the call to setNull
|
void |
setNull(int p0,
int p1,
java.lang.String p2)
Wraps the call to setNull
|
void |
setObject(int p0,
java.lang.Object p1)
Wraps the call to setObject
|
void |
setObject(int p0,
java.lang.Object p1,
int p2)
Wraps the call to setObject
|
void |
setObject(int p0,
java.lang.Object p1,
int p2,
int p3)
Wraps the call to setObject
|
void |
setPoolable(boolean arg0)
Requests that a
Statement be pooled or not pooled. |
void |
setQueryTimeout(int p0)
Wraps the call to setQueryTimeout
|
void |
setRef(int p0,
java.sql.Ref p1)
Wraps the call to setRef
|
void |
setRowId(int arg0,
java.sql.RowId arg1)
Sets the designated parameter to the given
java.sql.RowId object. |
void |
setShort(int p0,
short p1)
Wraps the call to setShort
|
void |
setSQLXML(int arg0,
java.sql.SQLXML arg1)
Sets the designated parameter to the given
java.sql.SQLXML object. |
void |
setString(int p0,
java.lang.String p1)
Wraps the call to setString
|
void |
setTime(int p0,
java.sql.Time p1)
Wraps the call to setTime
|
void |
setTime(int p0,
java.sql.Time p1,
java.util.Calendar p2)
Wraps the call to setTime
|
void |
setTimestamp(int p0,
java.sql.Timestamp p1)
Wraps the call to setTimestamp
|
void |
setTimestamp(int p0,
java.sql.Timestamp p1,
java.util.Calendar p2)
Wraps the call to setTimestamp
|
void |
setUnicodeStream(int p0,
java.io.InputStream p1,
int p2)
Wraps the call to setUnicodeStream
|
void |
setURL(int parameterIndex,
java.net.URL x)
Sets the designated parameter to the given
java.net.URL value. |
void |
setWrapped(java.sql.PreparedStatement pWrapped) |
<T> T |
unwrap(java.lang.Class<T> pInterface)
Returns an object that implements the given interface
|
public static java.lang.String CLASS_VERSION
protected static final java.lang.String EXECUTE_PREPARED_QUERY
protected static final java.lang.String EXECUTE_PREPARED_UPDATE
public MonitoredPreparedStatement(java.sql.PreparedStatement pWrapped, ApplicationLogging pLog, ConnectionStats pStats, java.lang.String pId, java.lang.String pStatement)
pWrapped
- the instance being wrappedpublic MonitoredPreparedStatement(java.sql.PreparedStatement pWrapped, ApplicationLogging pLog, ConnectionStats pStats, java.lang.String pId)
pWrapped
- the instance being wrappedpublic MonitoredConnection getMonitoredConnection()
public void setMonitoredConnection(MonitoredConnection pMonitoredConnection)
public java.sql.ResultSet executeQuery(java.lang.String p0) throws java.sql.SQLException
executeQuery
in interface java.sql.Statement
java.sql.SQLException
public int executeUpdate(java.lang.String p0) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
public void close() throws java.sql.SQLException
close
in interface java.lang.AutoCloseable
close
in interface java.sql.Statement
java.sql.SQLException
public int getMaxFieldSize() throws java.sql.SQLException
getMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
public void setMaxFieldSize(int p0) throws java.sql.SQLException
setMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
public int getMaxRows() throws java.sql.SQLException
getMaxRows
in interface java.sql.Statement
java.sql.SQLException
public void setMaxRows(int p0) throws java.sql.SQLException
setMaxRows
in interface java.sql.Statement
java.sql.SQLException
public void setEscapeProcessing(boolean p0) throws java.sql.SQLException
setEscapeProcessing
in interface java.sql.Statement
java.sql.SQLException
public int getQueryTimeout() throws java.sql.SQLException
getQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
public void setQueryTimeout(int p0) throws java.sql.SQLException
setQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
public void cancel() throws java.sql.SQLException
cancel
in interface java.sql.Statement
java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
getWarnings
in interface java.sql.Statement
java.sql.SQLException
public void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Statement
java.sql.SQLException
public void setCursorName(java.lang.String p0) throws java.sql.SQLException
setCursorName
in interface java.sql.Statement
java.sql.SQLException
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface java.sql.Statement
java.sql.SQLException
public void addBatch() throws java.sql.SQLException
addBatch
in interface java.sql.PreparedStatement
java.sql.SQLException
public void addBatch(java.lang.String p0) throws java.sql.SQLException
addBatch
in interface java.sql.Statement
java.sql.SQLException
public void clearBatch() throws java.sql.SQLException
clearBatch
in interface java.sql.Statement
java.sql.SQLException
public int[] executeBatch() throws java.sql.SQLException
executeBatch
in interface java.sql.Statement
java.sql.SQLException
public boolean execute(java.lang.String p0) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
public int getResultSetConcurrency() throws java.sql.SQLException
getResultSetConcurrency
in interface java.sql.Statement
java.sql.SQLException
public int getResultSetType() throws java.sql.SQLException
getResultSetType
in interface java.sql.Statement
java.sql.SQLException
public java.sql.ResultSet getResultSet() throws java.sql.SQLException
getResultSet
in interface java.sql.Statement
java.sql.SQLException
public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException
getMetaData
in interface java.sql.PreparedStatement
java.sql.SQLException
public int getUpdateCount() throws java.sql.SQLException
getUpdateCount
in interface java.sql.Statement
java.sql.SQLException
public boolean getMoreResults() throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
public java.sql.ResultSet executeQuery() throws java.sql.SQLException
executeQuery
in interface java.sql.PreparedStatement
java.sql.SQLException
public int executeUpdate() throws java.sql.SQLException
executeUpdate
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setNull(int p0, int p1) throws java.sql.SQLException
setNull
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setNull(int p0, int p1, java.lang.String p2) throws java.sql.SQLException
setNull
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setArray(int p0, java.sql.Array p1) throws java.sql.SQLException
setArray
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setBlob(int p0, java.sql.Blob p1) throws java.sql.SQLException
setBlob
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setClob(int p0, java.sql.Clob p1) throws java.sql.SQLException
setClob
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setCharacterStream(int p0, java.io.Reader p1, int p2) throws java.sql.SQLException
setCharacterStream
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setBoolean(int p0, boolean p1) throws java.sql.SQLException
setBoolean
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setByte(int p0, byte p1) throws java.sql.SQLException
setByte
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setRef(int p0, java.sql.Ref p1) throws java.sql.SQLException
setRef
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setShort(int p0, short p1) throws java.sql.SQLException
setShort
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setInt(int p0, int p1) throws java.sql.SQLException
setInt
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setLong(int p0, long p1) throws java.sql.SQLException
setLong
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setFloat(int p0, float p1) throws java.sql.SQLException
setFloat
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setDouble(int p0, double p1) throws java.sql.SQLException
setDouble
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setBigDecimal(int p0, java.math.BigDecimal p1) throws java.sql.SQLException
setBigDecimal
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setString(int p0, java.lang.String p1) throws java.sql.SQLException
setString
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setBytes(int p0, byte[] p1) throws java.sql.SQLException
setBytes
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setDate(int p0, java.sql.Date p1) throws java.sql.SQLException
setDate
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setDate(int p0, java.sql.Date p1, java.util.Calendar p2) throws java.sql.SQLException
setDate
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setTime(int p0, java.sql.Time p1) throws java.sql.SQLException
setTime
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setTime(int p0, java.sql.Time p1, java.util.Calendar p2) throws java.sql.SQLException
setTime
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setTimestamp(int p0, java.sql.Timestamp p1) throws java.sql.SQLException
setTimestamp
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setTimestamp(int p0, java.sql.Timestamp p1, java.util.Calendar p2) throws java.sql.SQLException
setTimestamp
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setAsciiStream(int p0, java.io.InputStream p1, int p2) throws java.sql.SQLException
setAsciiStream
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setUnicodeStream(int p0, java.io.InputStream p1, int p2) throws java.sql.SQLException
setUnicodeStream
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setBinaryStream(int p0, java.io.InputStream p1, int p2) throws java.sql.SQLException
setBinaryStream
in interface java.sql.PreparedStatement
java.sql.SQLException
public void clearParameters() throws java.sql.SQLException
clearParameters
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setObject(int p0, java.lang.Object p1, int p2, int p3) throws java.sql.SQLException
setObject
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setObject(int p0, java.lang.Object p1, int p2) throws java.sql.SQLException
setObject
in interface java.sql.PreparedStatement
java.sql.SQLException
public void setObject(int p0, java.lang.Object p1) throws java.sql.SQLException
setObject
in interface java.sql.PreparedStatement
java.sql.SQLException
public boolean execute() throws java.sql.SQLException
execute
in interface java.sql.PreparedStatement
java.sql.SQLException
public int getFetchSize() throws java.sql.SQLException
getFetchSize
in interface java.sql.Statement
java.sql.SQLException
public void setFetchSize(int p0) throws java.sql.SQLException
setFetchSize
in interface java.sql.Statement
java.sql.SQLException
public int getFetchDirection() throws java.sql.SQLException
getFetchDirection
in interface java.sql.Statement
java.sql.SQLException
public void setFetchDirection(int p0) throws java.sql.SQLException
setFetchDirection
in interface java.sql.Statement
java.sql.SQLException
public java.sql.PreparedStatement getWrapped()
public void setWrapped(java.sql.PreparedStatement pWrapped)
public boolean getMoreResults(int current) throws java.sql.SQLException
Statement
object's next result, deals with
any current ResultSet
object(s) according to the instructions
specified by the given flag, and returns
true
if the next result is a ResultSet
object.
There are no more results when the following is true:
(!getMoreResults() && (getUpdateCount() == -1)
getMoreResults
in interface java.sql.Statement
current
- one of the following Statement
constants indicating what should happen to current
ResultSet
objects obtained using the method
getResultSetCLOSE_CURRENT_RESULT
,
KEEP_CURRENT_RESULT
, or
CLOSE_ALL_RESULTS
true
if the next result is a ResultSet
object; false
if it is an update count or there are no
more resultsjava.sql.SQLException
- if a database access error occursexecute(java.lang.String)
public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException
Statement
object. If this Statement
object did
not generate any keys, an empty ResultSet
object is returned.getGeneratedKeys
in interface java.sql.Statement
ResultSet
object containing the auto-generated key(s)
generated by the execution of this Statement
objectjava.sql.SQLException
- if a database access error occurspublic int executeUpdate(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
Statement
object
should be made available for retrieval.executeUpdate
in interface java.sql.Statement
sql
- must be an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that
returns nothingautoGeneratedKeys
- a flag indicating whether auto-generated keys
should be made available for retrieval;
one of the following constants:
Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYS
INSERT
, UPDATE
or DELETE
statements, or 0
for SQL
statements that return nothingjava.sql.SQLException
- if a database access error occurs, the given
SQL statement returns a ResultSet
object, or
the given constant is not one of those allowedpublic int executeUpdate(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
INSERT
statement.executeUpdate
in interface java.sql.Statement
sql
- an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that returns nothing,
such as an SQL DDL statementcolumnIndexes
- an array of column indexes indicating the columns
that should be returned from the inserted rowINSERT
, UPDATE
,
or DELETE
statements, or 0 for SQL statements
that return nothingjava.sql.SQLException
- if a database access error occurs or the SQL
statement returns a ResultSet
objectpublic int executeUpdate(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
INSERT
statement.executeUpdate
in interface java.sql.Statement
sql
- an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that returns nothingcolumnNames
- an array of the names of the columns that should be
returned from the inserted rowINSERT
, UPDATE
,
or DELETE
statements, or 0 for SQL statements
that return nothingjava.sql.SQLException
- if a database access error occurspublic boolean execute(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
INSERT
statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
execute
in interface java.sql.Statement
sql
- any SQL statementautoGeneratedKeys
- a constant indicating whether auto-generated
keys should be made available for retrieval using the method
getGeneratedKeys
; one of the following constants:
Statement.RETURN_GENERATED_KEYS
or
Statement.NO_GENERATED_KEYS
true
if the first result is a ResultSet
object; false
if it is an update count or there are
no resultsjava.sql.SQLException
- if a database access error occursgetResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
public boolean execute(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
INSERT
statement.
Under some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
execute
in interface java.sql.Statement
sql
- any SQL statementcolumnIndexes
- an array of the indexes of the columns in the
inserted row that should be made available for retrieval by a
call to the method getGeneratedKeys
true
if the first result is a ResultSet
object; false
if it is an update count or there
are no resultsjava.sql.SQLException
- if a database access error occursgetResultSet()
,
getUpdateCount()
,
getMoreResults()
public boolean execute(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
INSERT
statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
execute
in interface java.sql.Statement
sql
- any SQL statementcolumnNames
- an array of the names of the columns in the inserted
row that should be made available for retrieval by a call to the
method getGeneratedKeys
true
if the next result is a ResultSet
object; false
if it is an update count or there
are no more resultsjava.sql.SQLException
- if a database access error occursgetResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
public int getResultSetHoldability() throws java.sql.SQLException
ResultSet
objects
generated by this Statement
object.getResultSetHoldability
in interface java.sql.Statement
ResultSet.HOLD_CURSORS_OVER_COMMIT
or
ResultSet.CLOSE_CURSORS_AT_COMMIT
java.sql.SQLException
- if a database access error occurspublic void setURL(int parameterIndex, java.net.URL x) throws java.sql.SQLException
java.net.URL
value.
The driver converts this to an SQL DATALINK
value
when it sends it to the database.setURL
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java.net.URL
object to be setjava.sql.SQLException
- if a database access error occurspublic java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException
PreparedStatement
object's parameters.getParameterMetaData
in interface java.sql.PreparedStatement
ParameterMetaData
object that contains information
about the number, types and properties of this
PreparedStatement
object's parametersjava.sql.SQLException
- if a database access error occursParameterMetaData
public void setAsciiStream(int arg0, java.io.InputStream arg1) throws java.sql.SQLException
LONGVARCHAR
parameter, it may be more practical to send it via a
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.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setAsciiStream
which takes a length parameter.
setAsciiStream
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ... *x
- the Java input stream that contains the ASCII parameter valuejava.sql.SQLException
- if parameterName does not correspond to a named
parameter; if a database access error occurs or
this method is called on a closed CallableStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setAsciiStream(int arg0, java.io.InputStream arg1, long arg2) throws java.sql.SQLException
LONGVARCHAR
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 java.sql.PreparedStatement
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 streamjava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
public void setBinaryStream(int arg0, java.io.InputStream arg1) throws java.sql.SQLException
LONGVARBINARY
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.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setBinaryStream
which takes a length parameter.
setBinaryStream
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the binary parameter valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setBinaryStream(int arg0, java.io.InputStream arg1, long arg2) throws java.sql.SQLException
LONGVARBINARY
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.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
setBinaryStream
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the binary parameter valuelength
- the number of bytes in the streamjava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
public void setBlob(int arg0, java.io.InputStream arg1) throws java.sql.SQLException
InputStream
object.
This method differs from the setBinaryStream (int, InputStream)
method because it informs the driver that the parameter value should be
sent to the server as a BLOB
. When the setBinaryStream
method is used,
the driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGVARBINARY
or a BLOB
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setBlob
which takes a length parameter.
setBlob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1,
the second is 2, ...inputStream
- An object that contains the data to set the parameter
value to.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs;
this method is called on a closed PreparedStatement
or
if parameterIndex does not correspond
to a parameter marker in the SQL statement,SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setBlob(int arg0, java.io.InputStream arg1, long arg2) throws java.sql.SQLException
InputStream
object. The inputstream must contain the number
of characters specified by length otherwise a SQLException
will be
generated when the PreparedStatement
is executed.
This method differs from the setBinaryStream (int, InputStream, int)
method because it informs the driver that the parameter value should be
sent to the server as a BLOB
. When the setBinaryStream
method is used,
the driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGVARBINARY
or a BLOB
setBlob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1,
the second is 2, ...inputStream
- An object that contains the data to set the parameter
value to.length
- the number of bytes in the parameter data.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs;
this method is called on a closed PreparedStatement
;
if the length specified
is less than zero or if the number of bytes in the inputstream does not match
the specfied length.SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setCharacterStream(int arg0, java.io.Reader arg1) throws java.sql.SQLException
Reader
object.
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.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setCharacterStream
which takes a length parameter.
setCharacterStream
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java.io.Reader
object that contains the
Unicode datajava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setCharacterStream(int arg0, java.io.Reader arg1, long arg2) throws java.sql.SQLException
Reader
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 java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java.io.Reader
object that contains the
Unicode datalength
- the number of characters in the streamjava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
public void setClob(int arg0, java.io.Reader arg1) throws java.sql.SQLException
Reader
object.
This method differs from the setCharacterStream (int, Reader)
method
because it informs the driver that the parameter value should be sent to
the server as a CLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGVARCHAR
or a CLOB
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setClob
which takes a length parameter.
setClob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs; this method is called on
a closed PreparedStatement
or if parameterIndex does not correspond to a parameter
marker in the SQL statementSQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setClob(int arg0, java.io.Reader arg1, long arg2) throws java.sql.SQLException
Reader
object. The reader must contain the number
of characters specified by length otherwise a SQLException
will be
generated when the PreparedStatement
is executed.
This method differs from the setCharacterStream (int, Reader, int)
method
because it informs the driver that the parameter value should be sent to
the server as a CLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGVARCHAR
or a CLOB
setClob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs; this method is called on
a closed PreparedStatement
or if the length specified is less than zero.SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNCharacterStream(int arg0, java.io.Reader arg1) throws java.sql.SQLException
Reader
object. The
Reader
reads the data till end-of-file is reached. The
driver does the necessary conversion from Java character format to
the national character set in the database.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setNCharacterStream
which takes a length parameter.
setNCharacterStream
in interface java.sql.PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; if a database access error occurs; or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNCharacterStream(int arg0, java.io.Reader arg1, long arg2) throws java.sql.SQLException
Reader
object. The
Reader
reads the data till end-of-file is reached. The
driver does the necessary conversion from Java character format to
the national character set in the database.setNCharacterStream
in interface java.sql.PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valuelength
- the number of characters in the parameter data.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; if a database access error occurs; or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNClob(int arg0, java.sql.NClob arg1) throws java.sql.SQLException
java.sql.NClob
object. The driver converts this to a
SQL NCLOB
value when it sends it to the database.setNClob
in interface java.sql.PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; if a database access error occurs; or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNClob(int arg0, java.io.Reader arg1) throws java.sql.SQLException
Reader
object.
This method differs from the setCharacterStream (int, Reader)
method
because it informs the driver that the parameter value should be sent to
the server as a NCLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGNVARCHAR
or a NCLOB
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
setNClob
which takes a length parameter.
setNClob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement;
if the driver does not support national character sets;
if the driver can detect that a data conversion
error could occur; if a database access error occurs or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNClob(int arg0, java.io.Reader arg1, long arg2) throws java.sql.SQLException
Reader
object. The reader must contain the number
of characters specified by length otherwise a SQLException
will be
generated when the PreparedStatement
is executed.
This method differs from the setCharacterStream (int, Reader, int)
method
because it informs the driver that the parameter value should be sent to
the server as a NCLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter
data should be sent to the server as a LONGNVARCHAR
or a NCLOB
setNClob
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.java.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if the length specified is less than zero;
if the driver does not support national character sets;
if the driver can detect that a data conversion
error could occur; if a database access error occurs or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setNString(int arg0, java.lang.String arg1) throws java.sql.SQLException
String
object.
The driver converts this to a SQL NCHAR
or
NVARCHAR
or LONGNVARCHAR
value
(depending on the argument's
size relative to the driver's limits on NVARCHAR
values)
when it sends it to the database.setNString
in interface java.sql.PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; if a database access error occurs; or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setRowId(int arg0, java.sql.RowId arg1) throws java.sql.SQLException
java.sql.RowId
object. The
driver converts this to a SQL ROWID
value when it sends it
to the databasesetRowId
in interface java.sql.PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs or
this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setSQLXML(int arg0, java.sql.SQLXML arg1) throws java.sql.SQLException
java.sql.SQLXML
object.
The driver converts this to an
SQL XML
value when it sends it to the database.
setSQLXML
in interface java.sql.PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...xmlObject
- a SQLXML
object that maps an SQL XML
valuejava.sql.SQLException
- if parameterIndex does not correspond to a parameter
marker in the SQL statement; if a database access error occurs;
this method is called on a closed PreparedStatement
or the java.xml.transform.Result
,
Writer
or OutputStream
has not been closed for
the SQLXML
objectSQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic boolean isClosed() throws java.sql.SQLException
Statement
object has been closed. A Statement
is closed if the
method close has been called on it, or if it is automatically closed.isClosed
in interface java.sql.Statement
Statement
object is closed; false if it is still openjava.sql.SQLException
- if a database access error occurspublic boolean isPoolable() throws java.sql.SQLException
Statement
is poolable or not.
isPoolable
in interface java.sql.Statement
true
if the Statement
is poolable; false
otherwise
java.sql.SQLException
- if this method is called on a closed
Statement
setPoolable(boolean)
public void setPoolable(boolean arg0) throws java.sql.SQLException
Statement
be pooled or not pooled. The value
specified is a hint to the statement pool implementation indicating
whether the applicaiton wants the statement to be pooled. It is up to
the statement pool manager as to whether the hint is used.
The poolable value of a statement is applicable to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.
By default, a Statement
is not poolable when created, and
a PreparedStatement
and CallableStatement
are poolable when created.
setPoolable
in interface java.sql.Statement
poolable
- requests that the statement be pooled if true and
that the statement not be pooled if false
java.sql.SQLException
- if this method is called on a closed
Statement
public boolean isWrapperFor(java.lang.Class<?> pInterface) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
pInterface
- the interface to testjava.sql.SQLException
- if there's an error determining whether this is
a wrapper for the interfacepublic <T> T unwrap(java.lang.Class<T> pInterface) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
pInterface
- the interface of the object to returnjava.sql.SQLException
- if no object is found that implements
the given interfacepublic void closeOnCompletion() throws java.sql.SQLException
Statement
will be closed when all its
dependent result sets are closed. If execution of the Statement
does not produce any result sets, this method has no effect.
Note: Multiple calls to closeOnCompletion
do
not toggle the effect on this Statement
. However, a call to
closeOnCompletion
does effect both the subsequent execution of
statements, and statements that currently have open, dependent,
result sets.
closeOnCompletion
in interface java.sql.Statement
java.sql.SQLException
- if this method is called on a closed
Statement
public boolean isCloseOnCompletion() throws java.sql.SQLException
Statement
will be
closed when all its dependent result sets are closed.isCloseOnCompletion
in interface java.sql.Statement
true
if the Statement
will be closed when all
of its dependent result sets are closed; false
otherwisejava.sql.SQLException
- if this method is called on a closed
Statement