|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.firebirdsql.jdbc.AbstractStatement
org.firebirdsql.jdbc.AbstractPreparedStatement
public abstract class AbstractPreparedStatement
Implementation of PreparedStatementinterface. This class
contains all methods from the JDBC 3.0 specification.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.firebirdsql.jdbc.AbstractStatement |
|---|
AbstractStatement.StatementResult |
| Field Summary | |
|---|---|
protected java.util.List |
batchList
|
protected boolean[] |
isParamSet
|
| Fields inherited from class org.firebirdsql.jdbc.AbstractStatement |
|---|
completed, connection, currentStatementResult, fetchSize, firstWarning, fixedStmt, gdsHelper, maxRows, statementListener |
| Fields inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement |
|---|
TYPE_COMMIT, TYPE_DDL, TYPE_DELETE, TYPE_EXEC_PROCEDURE, TYPE_GET_SEGMENT, TYPE_INSERT, TYPE_PUT_SEGMENT, TYPE_ROLLBACK, TYPE_SELECT, TYPE_SELECT_FOR_UPDATE, TYPE_SET_GENERATOR, TYPE_START_TRANS, TYPE_UPDATE |
| 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 | |
|---|---|
protected |
AbstractPreparedStatement(org.firebirdsql.gds.impl.GDSHelper c,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener)
Create instance of this class for the specified result set type and concurrency. |
protected |
AbstractPreparedStatement(org.firebirdsql.gds.impl.GDSHelper c,
java.lang.String sql,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener,
boolean metaDataQuery,
boolean standaloneStatement,
boolean generatedKeys)
Create instance of this class and prepare SQL statement. |
| Method Summary | |
|---|---|
void |
addBatch()
Adds a set of parameters to this PreparedStatement
object's batch of commands. |
void |
addBatch(java.lang.String sql)
Adds an SQL command to the current batch of commmands for this Statement object. |
void |
clearBatch()
Makes the set of commands in the current batch empty. |
void |
clearParameters()
Clears the current parameter values immediately. |
void |
completeStatement(CompletionReason reason)
|
boolean |
equals(java.lang.Object other)
|
boolean |
execute()
Executes any kind of SQL statement. |
boolean |
execute(java.lang.String sql)
Executes an SQL statement that 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 result set generated by the query. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Executes an SQL statement that returns a single ResultSet object. |
int |
executeUpdate()
Executes the SQL INSERT, UPDATE or DELETE statement in this PreparedStatement object. |
int |
executeUpdate(java.lang.String sql)
Executes an SQL INSERT, UPDATE or
DELETE 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[] columnIndex)
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.lang.String |
getExecutionPlan()
Get the execution plan of this PreparedStatement |
protected org.firebirdsql.jdbc.field.FBField |
getField(int columnIndex)
Factory method for the field access objects |
FirebirdParameterMetaData |
getFirebirdParameterMetaData()
|
java.sql.ResultSetMetaData |
getMetaData()
Gets the number, types and properties of a ResultSet
object's columns. |
java.sql.ParameterMetaData |
getParameterMetaData()
|
int |
getStatementType()
Get the statement type of this PreparedStatement. |
protected XSQLVAR |
getXsqlvar(int columnIndex)
Returns the XSQLVAR structure for the specified column. |
protected boolean |
internalExecute(boolean sendOutParams)
Execute this statement. |
protected void |
notifyStatementCompleted(boolean success)
|
protected void |
prepareFixedStatement(java.lang.String sql,
boolean describeBind)
Prepare fixed statement and initialize parameters. |
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)
|
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 |
setAsciiStream(int parameterIndex,
java.io.InputStream x,
long length)
|
void |
setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
Sets the designated parameter to the given BigDecimal |
void |
setBinaryStream(int parameterIndex,
java.io.InputStream x)
|
void |
setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. |
void |
setBinaryStream(int parameterIndex,
java.io.InputStream x,
long length)
|
void |
setBlob(int parameterIndex,
java.sql.Blob blob)
Sets the designated parameter to the given Blob object. |
void |
setBlob(int parameterIndex,
java.io.InputStream inputStream)
|
void |
setBlob(int parameterIndex,
java.io.InputStream inputStream,
long length)
|
void |
setBoolean(int parameterIndex,
boolean x)
Sets the designated parameter to the given boolean value. |
void |
setByte(int parameterIndex,
byte x)
Sets the designated parameter to the given byte value. |
void |
setBytes(int parameterIndex,
byte[] x)
Set the designated parameter to the given byte array. |
void |
setCharacterStream(int parameterIndex,
java.io.Reader reader)
|
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 |
setCharacterStream(int parameterIndex,
java.io.Reader reader,
long length)
|
void |
setClob(int parameterIndex,
java.sql.Clob clob)
Sets the designated parameter to the given Clob object. |
void |
setClob(int parameterIndex,
java.io.Reader reader)
|
void |
setClob(int parameterIndex,
java.io.Reader reader,
long length)
|
void |
setDate(int parameterIndex,
java.sql.Date x)
Sets the designated parameter to the given 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 double value. |
void |
setFloat(int parameterIndex,
float x)
Sets the designated parameter to the given floate value. |
void |
setInt(int parameterIndex,
int x)
Sets the designated parameter to the given int value. |
void |
setLong(int parameterIndex,
long x)
Sets the designated parameter to the given long value. |
void |
setNCharacterStream(int parameterIndex,
java.io.Reader value)
|
void |
setNCharacterStream(int parameterIndex,
java.io.Reader value,
long length)
|
void |
setNClob(int parameterIndex,
java.io.Reader reader)
|
void |
setNClob(int parameterIndex,
java.io.Reader reader,
long length)
|
void |
setNString(int parameterIndex,
java.lang.String value)
|
void |
setNull(int parameterIndex,
int sqlType)
Sets the designated parameter to SQL NULL. |
void |
setNull(int parameterIndex,
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 with 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 |
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 short value. |
void |
setString(int parameterIndex,
java.lang.String x)
Sets the designated parameter to the given String value. |
void |
setStringForced(int parameterIndex,
java.lang.String x)
Sets the designated parameter to the given String value. |
void |
setTime(int parameterIndex,
java.sql.Time x)
Sets the designated parameter to the given 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 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. I really have no idea if there is anything else we should be doing here |
void |
setURL(int parameterIndex,
java.net.URL url)
|
| Methods inherited from class java.lang.Object |
|---|
clone, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.firebirdsql.jdbc.FirebirdStatement |
|---|
getCurrentResultSet, getDeletedRowsCount, getInsertedRowsCount, getLastExecutionPlan, getUpdatedRowsCount, hasOpenResultSet, isClosed, isValid |
| Methods inherited from interface java.sql.PreparedStatement |
|---|
setNClob, setRowId, setSQLXML |
| Methods inherited from interface java.sql.Statement |
|---|
cancel, clearWarnings, close, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout |
| Methods inherited from interface java.sql.Wrapper |
|---|
isWrapperFor, unwrap |
| Field Detail |
|---|
protected boolean[] isParamSet
protected final java.util.List batchList
| Constructor Detail |
|---|
protected AbstractPreparedStatement(org.firebirdsql.gds.impl.GDSHelper c,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener)
throws java.sql.SQLException
AbstractCallableStatement
since the statement is prepared right before the execution.
c - instance of GDSHelper that will be used to perform all
database activities.rsType - desired result set type.rsConcurrency - desired result set concurrency.statementListener - statement listener that will be notified about
the statement start, close and completion.
java.sql.SQLException - if something went wrong.
protected AbstractPreparedStatement(org.firebirdsql.gds.impl.GDSHelper c,
java.lang.String sql,
int rsType,
int rsConcurrency,
int rsHoldability,
FBObjectListener.StatementListener statementListener,
FBObjectListener.BlobListener blobListener,
boolean metaDataQuery,
boolean standaloneStatement,
boolean generatedKeys)
throws java.sql.SQLException
c - connection to be used.sql - SQL statement to prepare.rsType - type of result set to create.rsConcurrency - result set concurrency.
java.sql.SQLException - if something went wrong.| Method Detail |
|---|
public void completeStatement(CompletionReason reason)
throws java.sql.SQLException
completeStatement in class AbstractStatementjava.sql.SQLException
protected void notifyStatementCompleted(boolean success)
throws java.sql.SQLException
notifyStatementCompleted in class AbstractStatementjava.sql.SQLException
public java.sql.ResultSet executeQuery()
throws java.sql.SQLException
PreparedStatement object
and returns the result set 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
public int executeUpdate()
throws java.sql.SQLException
PreparedStatement object. In addition, SQL statements that
return nothing, such as SQL DDL statements, can be executed.
executeUpdate in interface java.sql.PreparedStatementjava.sql.SQLException - if a database access error occurs
public FirebirdParameterMetaData getFirebirdParameterMetaData()
throws java.sql.SQLException
java.sql.SQLException
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 setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
int length)
throws java.sql.SQLException
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, ...inputStream - the Java input streamlength - 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,
long length)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBinaryStream(int parameterIndex,
java.io.InputStream x)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBytes(int parameterIndex,
byte[] x)
throws java.sql.SQLException
setBytes in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The byte array to be set
java.sql.SQLException - if a database access occurs
public void setBoolean(int parameterIndex,
boolean x)
throws java.sql.SQLException
setBoolean in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The boolean value to be set
java.sql.SQLException - if a database access occurs
public void setByte(int parameterIndex,
byte x)
throws java.sql.SQLException
setByte in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The byte value to be set
java.sql.SQLException - if a database access occurs
public void setDate(int parameterIndex,
java.sql.Date x)
throws java.sql.SQLException
setDate in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The date value to be set
java.sql.SQLException - if a database access occurs
public void setDouble(int parameterIndex,
double x)
throws java.sql.SQLException
setDouble in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The double value to be set
java.sql.SQLException - if a database access occurs
public void setFloat(int parameterIndex,
float x)
throws java.sql.SQLException
setFloat in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The float value to be set
java.sql.SQLException - if a database access occurs
public void setInt(int parameterIndex,
int x)
throws java.sql.SQLException
setInt in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The int value to be set
java.sql.SQLException - if a database access occurs
public void setLong(int parameterIndex,
long x)
throws java.sql.SQLException
setLong in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The long value to be set
java.sql.SQLException - if a database access occurs
public void setObject(int parameterIndex,
java.lang.Object x)
throws java.sql.SQLException
setObject in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - the object containing the parameter value
java.sql.SQLException - if a database access error occurs
public void setShort(int parameterIndex,
short x)
throws java.sql.SQLException
setShort in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The short value to be set
java.sql.SQLException - if a database access occurs
public void setString(int parameterIndex,
java.lang.String x)
throws java.sql.SQLException
setString in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The String value to be set
java.sql.SQLException - if a database access occurs
public void setStringForced(int parameterIndex,
java.lang.String x)
throws java.sql.SQLException
parameterIndex - the first parameter is 1, the second is 2, ...x - The String value to be set
java.sql.SQLException - if a database access occurs
public void setTime(int parameterIndex,
java.sql.Time x)
throws java.sql.SQLException
setTime in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The Time value to be set
java.sql.SQLException - if a database access occurs
public void setTimestamp(int parameterIndex,
java.sql.Timestamp x)
throws java.sql.SQLException
setTimestamp in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...x - The Timestamp value to be set
java.sql.SQLException - if a database access occurs
public void setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
throws java.sql.SQLException
setBigDecimal in interface java.sql.PreparedStatementparameterIndex - The first parameter is 1, second is 2, ...x - The BigDecimal to be set as a parameter
java.sql.SQLException - if a database access error occursprotected XSQLVAR getXsqlvar(int columnIndex)
protected org.firebirdsql.jdbc.field.FBField getField(int columnIndex)
throws java.sql.SQLException
java.sql.SQLException
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 setAsciiStream(int parameterIndex,
java.io.InputStream x,
long length)
throws java.sql.SQLException
setAsciiStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setAsciiStream(int parameterIndex,
java.io.InputStream x)
throws java.sql.SQLException
setAsciiStream in interface java.sql.PreparedStatementjava.sql.SQLException
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. The byte format of the Unicode stream must be Java UTF-8, as
defined in the Java Virtual Machine Specification.
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 - the java input stream which contains the UNICODE parameter
valuelength - the number of bytes in the stream
java.sql.SQLException - if a database access error occurs
public void setURL(int parameterIndex,
java.net.URL url)
throws java.sql.SQLException
setURL in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNCharacterStream(int parameterIndex,
java.io.Reader value,
long length)
throws java.sql.SQLException
setNCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNCharacterStream(int parameterIndex,
java.io.Reader value)
throws java.sql.SQLException
setNCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNClob(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
setNClob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNClob(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
setNClob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNString(int parameterIndex,
java.lang.String value)
throws java.sql.SQLException
setNString in interface java.sql.PreparedStatementjava.sql.SQLException
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 datatabase- 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 boolean execute()
throws java.sql.SQLException
execute method handles these complex
statements as well as the simpler form of statements handled by the
methods executeQuery and executeUpdate.
execute in interface java.sql.PreparedStatementjava.sql.SQLException - if a database access error occursStatement.execute(java.lang.String)
protected boolean internalExecute(boolean sendOutParams)
throws java.sql.SQLException
sendOutParams -
true if the statement has more result sets.
java.sql.SQLException
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),
What Is in the JDBC 2.0 API
public void clearBatch()
throws java.sql.SQLException
clearBatch in interface java.sql.StatementclearBatch in class AbstractStatementjava.sql.SQLException - if a database access error occurs or the driver does not
support batch statements
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:
-2-- 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:
-3-- 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.StatementexecuteBatch in class AbstractStatementjava.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 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 reader which contains the UNICODE datalength - the number of characters in the stream
java.sql.SQLException - if a database access error occurs
public void setCharacterStream(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setCharacterStream(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setRef(int i,
java.sql.Ref x)
throws java.sql.SQLException
REF(<structured-type>) value.
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 parameterIndex,
java.sql.Blob blob)
throws java.sql.SQLException
Blob object.
setBlob in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...blob - a Blob object that maps an SQL
BLOB value
java.sql.SQLException - if a database access error occurs
public void setBlob(int parameterIndex,
java.io.InputStream inputStream,
long length)
throws java.sql.SQLException
setBlob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBlob(int parameterIndex,
java.io.InputStream inputStream)
throws java.sql.SQLException
setBlob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setClob(int parameterIndex,
java.sql.Clob clob)
throws java.sql.SQLException
Clob object.
setClob in interface java.sql.PreparedStatementparameterIndex - the first parameter is 1, the second is 2, ...clob - a Clob object that maps an SQL
CLOB value
java.sql.SQLException - if a database access error occurs
public void setClob(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
setClob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setClob(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
setClob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setArray(int i,
java.sql.Array x)
throws java.sql.SQLException
Array object.
Sets an Array parameter.
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
ResultSet
object's columns.
getMetaData in interface java.sql.PreparedStatementResultSet object's columns
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 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 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 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 parameterIndex,
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.PreparedStatementparameterIndex - 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
protected void prepareFixedStatement(java.lang.String sql,
boolean describeBind)
throws GDSException,
java.sql.SQLException
prepareFixedStatement in class AbstractStatementGDSException
java.sql.SQLException
public java.lang.String getExecutionPlan()
throws FBSQLException
getExecutionPlan in interface FirebirdPreparedStatementFBSQLException
public int getStatementType()
throws FBSQLException
TYPE_* constant
values.
getStatementType in interface FirebirdPreparedStatementFBSQLException
public java.sql.ParameterMetaData getParameterMetaData()
throws java.sql.SQLException
getParameterMetaData in interface java.sql.PreparedStatementjava.sql.SQLException
public java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
AbstractStatementResultSet object.
executeQuery in interface java.sql.StatementexecuteQuery in class AbstractStatementsql - typically this is 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
public int executeUpdate(java.lang.String sql)
throws java.sql.SQLException
AbstractStatementINSERT, UPDATE or
DELETE statement. In addition,
SQL statements that return nothing, such as SQL DDL statements,
can be executed.
executeUpdate in interface java.sql.StatementexecuteUpdate in class AbstractStatementsql - 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
public boolean execute(java.lang.String sql)
throws java.sql.SQLException
AbstractStatementexecute,
getMoreResults, getResultSet,
and getUpdateCount let you navigate through multiple results.
The execute method executes an SQL statement and indicates the
form of the first result. You can 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.Statementexecute in class AbstractStatementsql - any SQL statement
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 occursAbstractStatement.getResultSet(),
AbstractStatement.getUpdateCount(),
AbstractStatement.getMoreResults()
public void addBatch(java.lang.String sql)
throws java.sql.SQLException
AbstractStatementStatement object. This method is optional.
addBatch in interface java.sql.StatementaddBatch in class AbstractStatementsql - 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 statements
public int executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
AbstractStatementStatement object
should be made available for retrieval. The driver will ignore the
flag if the SQL statement
is not an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
executeUpdate in interface java.sql.StatementexecuteUpdate in class AbstractStatementsql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or
DELETE; or an SQL statement that returns nothing,
such as a DDL statement.autoGeneratedKeys - 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
java.sql.SQLException - if a database access error occurs,
this method is called on a closed Statement, the given
SQL statement returns a ResultSet object, or
the given constant is not one of those allowed
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
this method with a constant of Statement.RETURN_GENERATED_KEYS
public int executeUpdate(java.lang.String sql,
int[] columnIndex)
throws java.sql.SQLException
AbstractStatementINSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
executeUpdate in interface java.sql.StatementexecuteUpdate in class AbstractStatementsql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or
DELETE; or an SQL statement that returns nothing,
such as a DDL statement.columnIndex - an array of column indexes indicating the columns
that should be returned from the inserted row
java.sql.SQLException - if a database access error occurs,
this method is called on a closed Statement, 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
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
public int executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
AbstractStatementINSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
executeUpdate in interface java.sql.StatementexecuteUpdate in class AbstractStatementsql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or
DELETE; or an SQL statement that returns nothing,
such as a DDL statement.columnNames - 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,
this method is called on a closed Statement, 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
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
public boolean execute(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
AbstractStatementINSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
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.Statementexecute in class AbstractStatementsql - 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,
this method is called on a closed Statement or the second
parameter supplied to this method is not
Statement.RETURN_GENERATED_KEYS or
Statement.NO_GENERATED_KEYS.
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
this method with a constant of Statement.RETURN_GENERATED_KEYSAbstractStatement.getResultSet(),
AbstractStatement.getUpdateCount(),
AbstractStatement.getMoreResults(),
AbstractStatement.getGeneratedKeys()
public boolean execute(java.lang.String sql,
int[] columnIndexes)
throws java.sql.SQLException
AbstractStatementINSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
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.Statementexecute in class AbstractStatementsql - 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,
this method is called on a closed Statement or the
elements in the int array passed to this method
are not valid column indexes
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodAbstractStatement.getResultSet(),
AbstractStatement.getUpdateCount(),
AbstractStatement.getMoreResults()
public boolean execute(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
AbstractStatementINSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
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.Statementexecute in class AbstractStatementsql - 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,
this method is called on a closed Statement or the
elements of the String array passed to this
method are not valid column names
java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodAbstractStatement.getResultSet(),
AbstractStatement.getUpdateCount(),
AbstractStatement.getMoreResults(),
AbstractStatement.getGeneratedKeys()public boolean equals(java.lang.Object other)
equals in class AbstractStatement
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||