|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||

java.lang.Objectorg.synchronoss.cpo.jdbc.JdbcPreparedStatement
public class JdbcPreparedStatement
An object that represents a precompiled SQL statement.
A SQL statement is precompiled and stored in a
PreparedStatement object. This object can then be used to
efficiently execute this statement multiple times.
Note: The setter methods (setShort, setString,
and so on) for setting IN parameter values
must specify types that are compatible with the defined SQL type of
the input parameter. For instance, if the IN parameter has SQL type
INTEGER, then the method setInt should be used.
If arbitrary parameter type conversions are required, the method
setObject should be used with a target SQL type.
In the following example of setting a parameter, con represents
an active connection:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
Connection.prepareStatement(java.lang.String),
ResultSet| Field Summary |
|---|
| Fields inherited from interface java.sql.Statement |
|---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
| Constructor Summary | |
|---|---|
JdbcPreparedStatement(java.sql.PreparedStatement pstmt)
|
|
| Method Summary | |
|---|---|
void |
addBatch()
Adds a set of parameters to this PreparedStatement
object's batch of commands. |
void |
addBatch(java.lang.String sql)
Adds the given SQL command to the current list of commmands for this Statement object. |
void |
cancel()
Cancels this Statement object if both the DBMS and
driver support aborting an SQL statement. |
void |
clearBatch()
Empties this Statement object's current list of
SQL commands. |
void |
clearParameters()
Clears the current parameter values immediately. |
void |
clearWarnings()
Clears all the warnings reported on this Statement
object. |
void |
close()
Releases this Statement object's database
and JDBC resources immediately instead of waiting for
this to happen when it is automatically closed. |
boolean |
execute()
Executes the SQL statement in this PreparedStatement object,
which may be any kind of SQL statement. |
boolean |
execute(java.lang.String sql)
Executes the given SQL statement, which may return multiple results. |
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()
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. |
java.sql.ResultSet |
executeQuery()
Executes the SQL query in this PreparedStatement object
and returns the ResultSet object generated by the query. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Executes the given SQL statement, which returns a single ResultSet object. |
int |
executeUpdate()
Executes the SQL statement in this PreparedStatement object,
which must be an SQL INSERT, UPDATE or
DELETE statement; or an SQL statement that returns nothing,
such as a DDL statement. |
int |
executeUpdate(java.lang.String sql)
Executes the given SQL statement, which may be an INSERT,
UPDATE, or DELETE statement or an
SQL statement that returns nothing, such as an SQL DDL statement. |
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()
Retrieves the Connection object
that produced this Statement object. |
int |
getFetchDirection()
Retrieves the direction for fetching rows from database tables that is the default for result sets generated from this Statement object. |
int |
getFetchSize()
Retrieves the number of result set rows that is the default fetch size for ResultSet objects
generated from this Statement object. |
java.sql.ResultSet |
getGeneratedKeys()
Retrieves any auto-generated keys created as a result of executing this Statement object. |
int |
getMaxFieldSize()
Retrieves the maximum number of bytes that can be returned for character and binary column values in a ResultSet
object produced by this Statement object. |
int |
getMaxRows()
Retrieves the maximum number of rows that a ResultSet object produced by this
Statement object can contain. |
java.sql.ResultSetMetaData |
getMetaData()
Retrieves a ResultSetMetaData object that contains
information about the columns of the ResultSet object
that will be returned when this PreparedStatement object
is executed. |
boolean |
getMoreResults()
Moves to this Statement object's next result, returns
true if it is a ResultSet object, and
implicitly closes any current ResultSet
object(s) obtained with the method getResultSet. |
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. |
java.sql.PreparedStatement |
getPreparedStatement()
|
int |
getQueryTimeout()
Retrieves the number of seconds the driver will wait for a Statement object to execute. |
java.sql.ResultSet |
getResultSet()
Retrieves the current result as a ResultSet object. |
int |
getResultSetConcurrency()
Retrieves the result set concurrency for ResultSet objects
generated by this Statement object. |
int |
getResultSetHoldability()
Retrieves the result set holdability for ResultSet objects
generated by this Statement object. |
int |
getResultSetType()
Retrieves the result set type for ResultSet objects
generated by this Statement object. |
int |
getUpdateCount()
Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1
is returned. |
java.sql.SQLWarning |
getWarnings()
Retrieves the first warning reported by calls on this Statement object. |
void |
setArray(int i,
java.sql.Array x)
Sets the designated parameter to the given Array object. |
void |
setAsciiStream(int parameterIndex,
java.io.InputStream x,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
void |
setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
Sets the designated parameter to the given java.math.BigDecimal value. |
void |
setBinaryStream(int parameterIndex,
java.io.InputStream x,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
void |
setBlob(int i,
java.sql.Blob x)
Sets the designated parameter to the given Blob object. |
void |
setBoolean(int parameterIndex,
boolean x)
Sets the designated parameter to the given Java boolean value. |
void |
setByte(int parameterIndex,
byte x)
Sets the designated parameter to the given Java byte value. |
void |
setBytes(int parameterIndex,
byte[] x)
Sets the designated parameter to the given Java array of bytes. |
void |
setCharacterStream(int parameterIndex,
java.io.Reader reader,
int length)
Sets the designated parameter to the given Reader
object, which is the given number of characters long. |
void |
setClob(int i,
java.sql.Clob x)
Sets the designated parameter to the given Clob object. |
void |
setCursorName(java.lang.String name)
Sets the SQL cursor name to the given String, which
will be used by subsequent Statement object
execute methods. |
void |
setDate(int parameterIndex,
java.sql.Date x)
Sets the designated parameter to the given java.sql.Date value. |
void |
setDate(int parameterIndex,
java.sql.Date x,
java.util.Calendar cal)
Sets the designated parameter to the given java.sql.Date value,
using the given Calendar object. |
void |
setDouble(int parameterIndex,
double x)
Sets the designated parameter to the given Java double value. |
void |
setEscapeProcessing(boolean enable)
Sets escape processing on or off. |
void |
setFetchDirection(int direction)
Gives the driver a hint as to the direction in which rows will be processed in ResultSet
objects created using this Statement object. |
void |
setFetchSize(int rows)
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. |
void |
setFloat(int parameterIndex,
float x)
Sets the designated parameter to the given Java float value. |
void |
setInt(int parameterIndex,
int x)
Sets the designated parameter to the given Java int value. |
void |
setLong(int parameterIndex,
long x)
Sets the designated parameter to the given Java long value. |
void |
setMaxFieldSize(int max)
Sets the limit for the maximum number of bytes in a ResultSet
column storing character or binary values to
the given number of bytes. |
void |
setMaxRows(int max)
Sets the limit for the maximum number of rows that any ResultSet object can contain to the given number. |
void |
setNull(int parameterIndex,
int sqlType)
Sets the designated parameter to SQL NULL. |
void |
setNull(int paramIndex,
int sqlType,
java.lang.String typeName)
Sets the designated parameter to SQL NULL. |
void |
setObject(int parameterIndex,
java.lang.Object x)
Sets the value of the designated parameter using the given object. |
void |
setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType)
Sets the value of the designated parameter with the given object. |
void |
setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType,
int scale)
Sets the value of the designated parameter with the given object. |
void |
setQueryTimeout(int seconds)
Sets the number of seconds the driver will wait for a Statement object to execute to the given number of seconds. |
void |
setRef(int i,
java.sql.Ref x)
Sets the designated parameter to the given REF(<structured-type>) value. |
void |
setShort(int parameterIndex,
short x)
Sets the designated parameter to the given Java short value. |
void |
setString(int parameterIndex,
java.lang.String x)
Sets the designated parameter to the given Java String value. |
void |
setTime(int parameterIndex,
java.sql.Time x)
Sets the designated parameter to the given java.sql.Time value. |
void |
setTime(int parameterIndex,
java.sql.Time x,
java.util.Calendar cal)
Sets the designated parameter to the given java.sql.Time value,
using the given Calendar object. |
void |
setTimestamp(int parameterIndex,
java.sql.Timestamp x)
Sets the designated parameter to the given java.sql.Timestamp value. |
void |
setTimestamp(int parameterIndex,
java.sql.Timestamp x,
java.util.Calendar cal)
Sets the designated parameter to the given java.sql.Timestamp value,
using the given Calendar object. |
void |
setUnicodeStream(int parameterIndex,
java.io.InputStream x,
int length)
Deprecated. |
void |
setURL(int parameterIndex,
java.net.URL x)
Sets the designated parameter to the given java.net.URL value. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JdbcPreparedStatement(java.sql.PreparedStatement pstmt)
| Method Detail |
|---|
public java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
ResultSet object.
executeQuery in interface java.sql.Statementsql - an SQL statement to be sent to the database, typically a
static SQL SELECT statement
ResultSet object that contains the data produced
by the given query; never null
java.sql.SQLException - if a database access error occurs or the given
SQL statement produces anything other than a single
ResultSet object
public int executeUpdate(java.lang.String sql)
throws java.sql.SQLException
INSERT,
UPDATE, or DELETE statement or an
SQL statement that returns nothing, such as an SQL DDL statement.
executeUpdate in interface java.sql.Statementsql - an SQL INSERT, UPDATE or
DELETE statement or an SQL statement that returns nothing
INSERT, UPDATE
or DELETE statements, or 0 for SQL statements
that return nothing
java.sql.SQLException - if a database access error occurs or the given
SQL statement produces a ResultSet object
public void close()
throws java.sql.SQLException
Statement object's database
and JDBC resources immediately instead of waiting for
this to happen when it is automatically closed.
It is generally good practice to release resources as soon as
you are finished with them to avoid tying up database
resources.
Calling the method close on a Statement
object that is already closed has no effect.
Note: A Statement object is automatically closed
when it is garbage collected. When a Statement object is
closed, its current ResultSet object, if one exists, is
also closed.
close in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs
public int getMaxFieldSize()
throws java.sql.SQLException
ResultSet
object produced by this Statement object.
This limit applies only to BINARY,
VARBINARY, LONGVARBINARY, CHAR,
VARCHAR, and LONGVARCHAR
columns. If the limit is exceeded, the excess data is silently
discarded.
getMaxFieldSize in interface java.sql.Statementjava.sql.SQLException - if a database access error occurssetMaxFieldSize(int)
public void setMaxFieldSize(int max)
throws java.sql.SQLException
ResultSet
column storing character or binary values to
the given number of bytes. This limit applies
only to BINARY, VARBINARY,
LONGVARBINARY, CHAR, VARCHAR, and
LONGVARCHAR fields. If the limit is exceeded, the excess data
is silently discarded. For maximum portability, use values
greater than 256.
setMaxFieldSize in interface java.sql.Statementmax - the new column size limit in bytes; zero means there is no limit
java.sql.SQLException - if a database access error occurs
or the condition max >= 0 is not satisfiedgetMaxFieldSize()
public int getMaxRows()
throws java.sql.SQLException
ResultSet object produced by this
Statement object can contain. If this limit is exceeded,
the excess rows are silently dropped.
getMaxRows in interface java.sql.StatementResultSet
object produced by this Statement object;
zero means there is no limit
java.sql.SQLException - if a database access error occurssetMaxRows(int)
public void setMaxRows(int max)
throws java.sql.SQLException
ResultSet object can contain to the given number.
If the limit is exceeded, the excess
rows are silently dropped.
setMaxRows in interface java.sql.Statementmax - the new max rows limit; zero means there is no limit
java.sql.SQLException - if a database access error occurs
or the condition max >= 0 is not satisfiedgetMaxRows()
public void setEscapeProcessing(boolean enable)
throws java.sql.SQLException
PreparedStatements objects will have no effect.
setEscapeProcessing in interface java.sql.Statementenable - true to enable escape processing;
false to disable it
java.sql.SQLException - if a database access error occurs
public int getQueryTimeout()
throws java.sql.SQLException
Statement object to execute. If the limit is exceeded, a
SQLException is thrown.
getQueryTimeout in interface java.sql.Statementjava.sql.SQLException - if a database access error occurssetQueryTimeout(int)
public void setQueryTimeout(int seconds)
throws java.sql.SQLException
Statement object to execute to the given number of seconds.
If the limit is exceeded, an SQLException is thrown.
setQueryTimeout in interface java.sql.Statementseconds - the new query timeout limit in seconds; zero means
there is no limit
java.sql.SQLException - if a database access error occurs
or the condition seconds >= 0 is not satisfiedgetQueryTimeout()
public void cancel()
throws java.sql.SQLException
Statement object if both the DBMS and
driver support aborting an SQL statement.
This method can be used by one thread to cancel a statement that
is being executed by another thread.
cancel in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs
public java.sql.SQLWarning getWarnings()
throws java.sql.SQLException
Statement object.
Subsequent Statement object warnings will be chained to this
SQLWarning object.
The warning chain is automatically cleared each time
a statement is (re)executed. This method may not be called on a closed
Statement object; doing so will cause an SQLException
to be thrown.
Note: If you are processing a ResultSet object, any
warnings associated with reads on that ResultSet object
will be chained on it rather than on the Statement
object that produced it.
getWarnings in interface java.sql.StatementSQLWarning object or null
if there are no warnings
java.sql.SQLException - if a database access error occurs or this
method is called on a closed statement
public void clearWarnings()
throws java.sql.SQLException
Statement
object. After a call to this method,
the method getWarnings will return
null until a new warning is reported for this
Statement object.
clearWarnings in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs
public void setCursorName(java.lang.String name)
throws java.sql.SQLException
String, which
will be used by subsequent Statement object
execute methods. This name can then be
used in SQL positioned update or delete statements to identify the
current row in the ResultSet object generated by this
statement. If the database does not support positioned update/delete,
this method is a noop. To insure that a cursor has the proper isolation
level to support updates, the cursor's SELECT statement
should have the form SELECT FOR UPDATE. If
FOR UPDATE is not present, positioned updates may fail.
Note: By definition, the execution of positioned updates and
deletes must be done by a different Statement object than
the one that generated the ResultSet object being used for
positioning. Also, cursor names must be unique within a connection.
setCursorName in interface java.sql.Statementname - the new cursor name, which must be unique within
a connection
java.sql.SQLException - if a database access error occurs
public boolean execute(java.lang.String sql)
throws java.sql.SQLException
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.Statementsql - any SQL statement
true if the first result is a ResultSet
object; false if it is an update count or there are
no results
java.sql.SQLException - if a database access error occursgetResultSet(),
getUpdateCount(),
getMoreResults()
public java.sql.ResultSet getResultSet()
throws java.sql.SQLException
ResultSet object.
This method should be called only once per result.
getResultSet in interface java.sql.StatementResultSet object or
null if the result is an update count or there are no more results
java.sql.SQLException - if a database access error occursexecute(java.lang.String)
public int getUpdateCount()
throws java.sql.SQLException
ResultSet object or there are no more results, -1
is returned. This method should be called only once per result.
getUpdateCount in interface java.sql.StatementResultSet object or there are no more results
java.sql.SQLException - if a database access error occursexecute(java.lang.String)
public boolean getMoreResults()
throws java.sql.SQLException
Statement object's next result, returns
true if it is a ResultSet object, and
implicitly closes any current ResultSet
object(s) obtained with the method getResultSet.
There are no more results when the following is true:
// stmt is a Statement object
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
getMoreResults in interface java.sql.Statementtrue if the next result is a ResultSet
object; false if it is an update count or there are
no more results
java.sql.SQLException - if a database access error occursexecute(java.lang.String)
public void setFetchDirection(int direction)
throws java.sql.SQLException
ResultSet
objects created using this Statement object. The
default value is ResultSet.FETCH_FORWARD.
Note that this method sets the default fetch direction for
result sets generated by this Statement object.
Each result set has its own methods for getting and setting
its own fetch direction.
setFetchDirection in interface java.sql.Statementdirection - the initial direction for processing rows
java.sql.SQLException - if a database access error occurs
or the given direction
is not one of ResultSet.FETCH_FORWARD,
ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWNgetFetchDirection()
public int getFetchDirection()
throws java.sql.SQLException
Statement object.
If this Statement object has not set
a fetch direction by calling the method setFetchDirection,
the return value is implementation-specific.
getFetchDirection in interface java.sql.StatementStatement object
java.sql.SQLException - if a database access error occurssetFetchDirection(int)
public void setFetchSize(int rows)
throws java.sql.SQLException
setFetchSize in interface java.sql.Statementrows - the number of rows to fetch
java.sql.SQLException - if a database access error occurs, or the
condition 0 <= rows <= this.getMaxRows()
is not satisfied.getFetchSize()
public int getFetchSize()
throws java.sql.SQLException
ResultSet objects
generated from this Statement object.
If this Statement object has not set
a fetch size by calling the method setFetchSize,
the return value is implementation-specific.
getFetchSize in interface java.sql.StatementStatement object
java.sql.SQLException - if a database access error occurssetFetchSize(int)
public int getResultSetConcurrency()
throws java.sql.SQLException
ResultSet objects
generated by this Statement object.
getResultSetConcurrency in interface java.sql.StatementResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLE
java.sql.SQLException - if a database access error occurs
public int getResultSetType()
throws java.sql.SQLException
ResultSet objects
generated by this Statement object.
getResultSetType in interface java.sql.StatementResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVE
java.sql.SQLException - if a database access error occurs
public void addBatch(java.lang.String sql)
throws java.sql.SQLException
Statement object. The commands in this list can be
executed as a batch by calling the method executeBatch.
NOTE: This method is optional.
addBatch in interface java.sql.Statementsql - typically this is a static SQL INSERT or
UPDATE statement
java.sql.SQLException - if a database access error occurs, or the
driver does not support batch updatesexecuteBatch()
public void clearBatch()
throws java.sql.SQLException
Statement object's current list of
SQL commands.
NOTE: This method is optional.
clearBatch in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs or the
driver does not support batch updatesaddBatch(java.lang.String)
public int[] executeBatch()
throws java.sql.SQLException
int elements of the array that is returned are ordered
to correspond to the commands in the batch, which are ordered
according to the order in which they were added to the batch.
The elements in the array returned by the method executeBatch
may be one of the following:
SUCCESS_NO_INFO -- indicates that the command was
processed successfully but that the number of rows affected is
unknown
If one of the commands in a batch update fails to execute properly,
this method throws a BatchUpdateException, and a JDBC
driver may or may not continue to process the remaining commands in
the batch. However, the driver's behavior must be consistent with a
particular DBMS, either always continuing to process commands or never
continuing to process commands. If the driver continues processing
after a failure, the array returned by the method
BatchUpdateException.getUpdateCounts
will contain as many elements as there are commands in the batch, and
at least one of the elements will be the following:
EXECUTE_FAILED -- indicates that the command failed
to execute successfully and occurs only if a driver continues to
process commands after a command fails
A driver is not required to implement this method.
The possible implementations and return values have been modified in
the Java 2 SDK, Standard Edition, version 1.3 to
accommodate the option of continuing to proccess commands in a batch
update after a BatchUpdateException obejct has been thrown.
executeBatch in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs or the
driver does not support batch statements. Throws BatchUpdateException
(a subclass of SQLException) if one of the commands sent to the
database fails to execute properly or attempts to return a result set.
public java.sql.Connection getConnection()
throws java.sql.SQLException
Connection object
that produced this Statement object.
getConnection in interface java.sql.Statementjava.sql.SQLException - if a database access error occurs
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:
// stmt is a Statement object
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
getMoreResults in interface java.sql.Statementcurrent - one of the following Statement
constants indicating what should happen to current
ResultSet objects obtained using the method
getResultSet:
Statement.CLOSE_CURRENT_RESULT,
Statement.KEEP_CURRENT_RESULT, or
Statement.CLOSE_ALL_RESULTS
true if the next result is a ResultSet
object; false if it is an update count or there are no
more results
java.sql.SQLException - if a database access error occurs or the argument
supplied is not one of the following:
Statement.CLOSE_CURRENT_RESULT,
Statement.KEEP_CURRENT_RESULT, or
Statement.CLOSE_ALL_RESULTSexecute(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.StatementResultSet object containing the auto-generated key(s)
generated by the execution of this Statement object
java.sql.SQLException - if a database access error occurs
public 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.Statementsql - 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 nothing
java.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 allowed
public int executeUpdate(java.lang.String sql,
int[] columnIndexes)
throws java.sql.SQLException
INSERT statement.
executeUpdate in interface java.sql.Statementsql - 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 row
INSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothing
java.sql.SQLException - if a database access error occurs, the SQL
statement returns a ResultSet object, or the
second argument supplied to this method is not an int array
whose elements are valid column indexes
public int executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
INSERT statement.
executeUpdate in interface java.sql.Statementsql - 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 row
INSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothing
java.sql.SQLException - if a database access error occurs, the SQL
statement returns a ResultSet object, or the
second argument supplied to this method is not a String array
whose elements are valid column names
public 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.Statementsql - 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 results
java.sql.SQLException - if a database access error occurs or the second
parameter supplied to this method is not
Statement.RETURN_GENERATED_KEYS or
Statement.NO_GENERATED_KEYS.getResultSet(),
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.Statementsql - 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 results
java.sql.SQLException - if a database access error occurs or the
elements in the int array passed to this method
are not valid column indexesgetResultSet(),
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.Statementsql - 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 results
java.sql.SQLException - if a database access error occurs or the
elements of the String array passed to this
method are not valid column namesgetResultSet(),
getUpdateCount(),
getMoreResults(),
getGeneratedKeys()
public int getResultSetHoldability()
throws java.sql.SQLException
ResultSet objects
generated by this Statement object.
getResultSetHoldability in interface java.sql.StatementResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMIT
java.sql.SQLException - if a database access error occurs
public java.sql.ResultSet executeQuery()
throws java.sql.SQLException
PreparedStatement object
and returns the ResultSet object generated by the query.
executeQuery in interface java.sql.PreparedStatementResultSet object that contains the data produced by the
query; never null
java.sql.SQLException - if a database access error occurs or the SQL
statement does not return a ResultSet object
public int executeUpdate()
throws java.sql.SQLException
PreparedStatement object,
which must be an SQL INSERT, UPDATE or
DELETE statement; or an SQL statement that returns nothing,
such as a DDL statement.
executeUpdate in interface java.sql.PreparedStatementINSERT, UPDATE,
or DELETE statements
or (2) 0 for SQL statements that return nothing
java.sql.SQLException - if a database access error occurs or the SQL
statement returns a ResultSet object
public void setNull(int parameterIndex,
int sqlType)
throws java.sql.SQLException
NULL.
Note: You must specify the parameter's SQL type.
setNull in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...sqlType - the SQL type code defined in java.sql.Types
java.sql.SQLException - if a database access error occurs
public void setBoolean(int parameterIndex,
boolean x)
throws java.sql.SQLException
boolean value.
The driver converts this
to an SQL BIT value when it sends it to the database.
setBoolean in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setByte(int parameterIndex,
byte x)
throws java.sql.SQLException
byte value.
The driver converts this
to an SQL TINYINT value when it sends it to the database.
setByte in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setShort(int parameterIndex,
short x)
throws java.sql.SQLException
short value.
The driver converts this
to an SQL SMALLINT value when it sends it to the database.
setShort in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setInt(int parameterIndex,
int x)
throws java.sql.SQLException
int value.
The driver converts this
to an SQL INTEGER value when it sends it to the database.
setInt in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setLong(int parameterIndex,
long x)
throws java.sql.SQLException
long value.
The driver converts this
to an SQL BIGINT value when it sends it to the database.
setLong in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setFloat(int parameterIndex,
float x)
throws java.sql.SQLException
float value.
The driver converts this
to an SQL FLOAT value when it sends it to the database.
setFloat in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setDouble(int parameterIndex,
double x)
throws java.sql.SQLException
double value.
The driver converts this
to an SQL DOUBLE value when it sends it to the database.
setDouble in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
throws java.sql.SQLException
java.math.BigDecimal value.
The driver converts this to an SQL NUMERIC value when
it sends it to the database.
setBigDecimal in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setString(int parameterIndex,
java.lang.String x)
throws java.sql.SQLException
String value.
The driver converts this
to an SQL VARCHAR or LONGVARCHAR value
(depending on the argument's
size relative to the driver's limits on VARCHAR values)
when it sends it to the database.
setString in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setBytes(int parameterIndex,
byte[] x)
throws java.sql.SQLException
VARBINARY or LONGVARBINARY
(depending on the argument's size relative to the driver's limits on
VARBINARY values) when it sends it to the database.
setBytes in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setDate(int parameterIndex,
java.sql.Date x)
throws java.sql.SQLException
java.sql.Date value.
The driver converts this
to an SQL DATE value when it sends it to the database.
setDate in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setTime(int parameterIndex,
java.sql.Time x)
throws java.sql.SQLException
java.sql.Time value.
The driver converts this
to an SQL TIME value when it sends it to the database.
setTime in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setTimestamp(int parameterIndex,
java.sql.Timestamp x)
throws java.sql.SQLException
java.sql.Timestamp value.
The driver
converts this to an SQL TIMESTAMP value when it sends it to the
database.
setTimestamp in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter value
java.sql.SQLException - if a database access error occurs
public void setAsciiStream(int parameterIndex,
java.io.InputStream x,
int length)
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.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the Java input stream that contains the ASCII parameter valuelength - the number of bytes in the stream
java.sql.SQLException - if a database access error occurs
public void setUnicodeStream(int parameterIndex,
java.io.InputStream x,
int length)
throws java.sql.SQLException
LONGVARCHAR
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. 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.
setUnicodeStream in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - a java.io.InputStream object that contains the
Unicode parameter value as two-byte Unicode characterslength - the number of bytes in the stream
java.sql.SQLException - if a database access error occurs
public void setBinaryStream(int parameterIndex,
java.io.InputStream x,
int length)
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.PreparedStatementparameterIndex - 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 stream
java.sql.SQLException - if a database access error occurs
public void clearParameters()
throws java.sql.SQLException
In general, parameter values remain in force for repeated use of a
statement. Setting a parameter value automatically clears its
previous value. However, in some cases it is useful to immediately
release the resources used by the current parameter values; this can
be done by calling the method clearParameters.
clearParameters in interface java.sql.PreparedStatementjava.sql.SQLException - if a database access error occurs
public void setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType,
int scale)
throws java.sql.SQLException
Sets the value of the designated parameter with the given object. The second
argument must be an object type; for integral values, the
java.lang equivalent objects should be used.
The given Java object will be converted to the given targetSqlType
before being sent to the database.
If the object has a custom mapping (is of a class implementing the
interface SQLData),
the JDBC driver should call the method SQLData.writeSQL to
write it to the SQL data stream.
If, on the other hand, the object is of a class implementing
Ref, Blob, Clob, Struct,
or Array, the driver should pass it to the database as a
value of the corresponding SQL type.
Note that this method may be used to pass database-specific abstract data types.
setObject in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the object containing the input parameter valuetargetSqlType - the SQL type (as defined in java.sql.Types) to be
sent to the database. The scale argument may further qualify this type.scale - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
this is the number of digits after the decimal point. For all other
types, this value will be ignored.
java.sql.SQLException - if a database access error occursTypes
public void setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType)
throws java.sql.SQLException
setObject
above, except that it assumes a scale of zero.
setObject in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the object containing the input parameter valuetargetSqlType - the SQL type (as defined in java.sql.Types) to be
sent to the database
java.sql.SQLException - if a database access error occurs
public void setObject(int parameterIndex,
java.lang.Object x)
throws java.sql.SQLException
Sets the value of the designated parameter using the given object.
The second parameter must be of type Object; therefore, the
java.lang equivalent objects should be used for built-in types.
The JDBC specification specifies a standard mapping from
Java Object types to SQL types. The given argument
will be converted to the corresponding SQL type before being
sent to the database.
Note that this method may be used to pass datatabase-
specific abstract data types, by using a driver-specific Java
type.
If the object is of a class implementing the interface SQLData,
the JDBC driver should call the method SQLData.writeSQL
to write it to the SQL data stream.
If, on the other hand, the object is of a class implementing
Ref, Blob, Clob, Struct,
or Array, the driver should pass it to the database as a
value of the corresponding SQL type.
This method throws an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of the interfaces named above.
setObject in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the object containing the input parameter value
java.sql.SQLException - if a database access error occurs or the type
of the given object is ambiguous
public boolean execute()
throws java.sql.SQLException
PreparedStatement object,
which may be any kind of SQL statement.
Some prepared statements return multiple results; the execute
method handles these complex statements as well as the simpler
form of statements handled by the methods executeQuery
and executeUpdate.
The execute method returns a boolean to
indicate the form of the first result. You must call either the method
getResultSet or getUpdateCount
to retrieve the result; you must call getMoreResults to
move to any subsequent result(s).
execute in interface java.sql.PreparedStatementtrue if the first result is a ResultSet
object; false if the first result is an update
count or there is no result
java.sql.SQLException - if a database access error occurs or an argument
is supplied to this methodStatement.execute(java.lang.String),
Statement.getResultSet(),
Statement.getUpdateCount(),
Statement.getMoreResults()
public void addBatch()
throws java.sql.SQLException
PreparedStatement
object's batch of commands.
addBatch in interface java.sql.PreparedStatementjava.sql.SQLException - if a database access error occursStatement.addBatch(java.lang.String)
public void setCharacterStream(int parameterIndex,
java.io.Reader reader,
int length)
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.PreparedStatementparameterIndex - 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 stream
java.sql.SQLException - if a database access error occurs
public void setRef(int i,
java.sql.Ref x)
throws java.sql.SQLException
REF(<structured-type>) value.
The driver converts this to an SQL REF value when it
sends it to the database.
setRef in interface java.sql.PreparedStatementi - the first parameter is 1, the second is 2, ...x - an SQL REF value
java.sql.SQLException - if a database access error occurs
public void setBlob(int i,
java.sql.Blob x)
throws java.sql.SQLException
Blob object.
The driver converts this to an SQL BLOB value when it
sends it to the database.
setBlob in interface java.sql.PreparedStatementi - the first parameter is 1, the second is 2, ...x - a Blob object that maps an SQL BLOB value
java.sql.SQLException - if a database access error occurs
public void setClob(int i,
java.sql.Clob x)
throws java.sql.SQLException
Clob object.
The driver converts this to an SQL CLOB value when it
sends it to the database.
setClob in interface java.sql.PreparedStatementi - the first parameter is 1, the second is 2, ...x - a Clob object that maps an SQL CLOB value
java.sql.SQLException - if a database access error occurs
public void setArray(int i,
java.sql.Array x)
throws java.sql.SQLException
Array object.
The driver converts this to an SQL ARRAY value when it
sends it to the database.
setArray in interface java.sql.PreparedStatementi - the first parameter is 1, the second is 2, ...x - an Array object that maps an SQL ARRAY value
java.sql.SQLException - if a database access error occurs
public java.sql.ResultSetMetaData getMetaData()
throws java.sql.SQLException
ResultSetMetaData object that contains
information about the columns of the ResultSet object
that will be returned when this PreparedStatement object
is executed.
Because a PreparedStatement object is precompiled, it is
possible to know about the ResultSet object that it will
return without having to execute it. Consequently, it is possible
to invoke the method getMetaData on a
PreparedStatement object rather than waiting to execute
it and then invoking the ResultSet.getMetaData method
on the ResultSet object that is returned.
NOTE: Using this method may be expensive for some drivers due to the lack of underlying DBMS support.
getMetaData in interface java.sql.PreparedStatementResultSet object's columns or
null if the driver cannot return a
ResultSetMetaData object
java.sql.SQLException - if a database access error occurs
public void setDate(int parameterIndex,
java.sql.Date x,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.Date value,
using the given Calendar object. The driver uses
the Calendar object to construct an SQL DATE value,
which the driver then sends to the database. With
a Calendar object, the driver can calculate the date
taking into account a custom timezone. If no
Calendar object is specified, the driver uses the default
timezone, which is that of the virtual machine running the application.
setDate in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use
to construct the date
java.sql.SQLException - if a database access error occurs
public void setTime(int parameterIndex,
java.sql.Time x,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.Time value,
using the given Calendar object. The driver uses
the Calendar object to construct an SQL TIME value,
which the driver then sends to the database. With
a Calendar object, the driver can calculate the time
taking into account a custom timezone. If no
Calendar object is specified, the driver uses the default
timezone, which is that of the virtual machine running the application.
setTime in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use
to construct the time
java.sql.SQLException - if a database access error occurs
public void setTimestamp(int parameterIndex,
java.sql.Timestamp x,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.Timestamp value,
using the given Calendar object. The driver uses
the Calendar object to construct an SQL TIMESTAMP value,
which the driver then sends to the database. With a
Calendar object, the driver can calculate the timestamp
taking into account a custom timezone. If no
Calendar object is specified, the driver uses the default
timezone, which is that of the virtual machine running the application.
setTimestamp in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the parameter valuecal - the Calendar object the driver will use
to construct the timestamp
java.sql.SQLException - if a database access error occurs
public void setNull(int paramIndex,
int sqlType,
java.lang.String typeName)
throws java.sql.SQLException
NULL.
This version of the method setNull should
be used for user-defined types and REF type parameters. Examples
of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and
named array types.
Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-defined type the name is the type name of the parameter itself. For a REF parameter, the name is the type name of the referenced type. If a JDBC driver does not need the type code or type name information, it may ignore it. Although it is intended for user-defined and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-defined or REF type, the given typeName is ignored.
setNull in interface java.sql.PreparedStatementparamIndex - the first parameter is 1, the second is 2, ...sqlType - a value from java.sql.TypestypeName - the fully-qualified name of an SQL user-defined type;
ignored if the parameter is not a user-defined type or REF
java.sql.SQLException - if a database access error occurs
public 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.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the java.net.URL object to be set
java.sql.SQLException - if a database access error occurs
public java.sql.ParameterMetaData getParameterMetaData()
throws java.sql.SQLException
PreparedStatement object's parameters.
getParameterMetaData in interface java.sql.PreparedStatementParameterMetaData object that contains information
about the number, types and properties of this
PreparedStatement object's parameters
java.sql.SQLException - if a database access error occursParameterMetaData
public java.sql.PreparedStatement getPreparedStatement()
throws java.sql.SQLException
java.sql.SQLException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||