public abstract class AbstractPreparedStatement extends FBStatement implements FirebirdPreparedStatement
PreparedStatementinterface. This class
contains all methods from the JDBC 2.0 specification.FBStatement.StatementResult| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<java.lang.Object> |
batchList |
protected boolean[] |
isParamSet |
static java.lang.String |
METHOD_NOT_SUPPORTED |
completed, connection, currentStatementResult, fbStatement, fetchSize, firstWarning, gdsHelper, isSingletonResult, jdbcVersionSupport, maxRows, specialResult, statementListenerTYPE_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| Modifier | Constructor and Description |
|---|---|
protected |
AbstractPreparedStatement(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(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.
|
| Modifier and Type | Method and Description |
|---|---|
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 |
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.
|
protected java.util.List<java.lang.Long> |
executeBatchInternal() |
long |
executeLargeUpdate() |
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 FBField |
getField(int columnIndex)
Factory method for the field access objects
|
FirebirdParameterMetaData |
getFirebirdParameterMetaData() |
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. |
protected FieldDescriptor |
getParameterDescriptor(int columnIndex)
Returns the
FieldDescriptor of the specified parameter. |
java.sql.ParameterMetaData |
getParameterMetaData() |
int |
getStatementType()
Get the statement type of this PreparedStatement.
|
protected boolean |
internalExecute(boolean sendOutParams)
Execute this statement.
|
protected boolean |
isGeneratedKeyQuery() |
protected void |
notifyStatementCompleted(boolean success) |
protected void |
prepareFixedStatement(java.lang.String sql)
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 inputStream) |
void |
setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
int length) |
void |
setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
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) |
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.sql.NClob value) |
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 |
setRowId(int parameterIndex,
java.sql.RowId x) |
void |
setShort(int parameterIndex,
short x)
Sets the designated parameter to the given short value.
|
void |
setSQLXML(int parameterIndex,
java.sql.SQLXML xmlObject) |
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.
|
void |
setURL(int parameterIndex,
java.net.URL url) |
addWarning, cancel, checkValidity, clearWarnings, close, closeOnCompletion, completeStatement, createStatementListener, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, equals, executeBatch, executeImpl, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, finalize, forgetResultSet, getConnection, getCurrentResultSet, getDeletedRowsCount, getFetchDirection, getFetchSize, getGeneratedKeys, getInsertedRowsCount, getLargeMaxRows, getLargeUpdateCount, getLastExecutionPlan, getLocalStatementId, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSynchronizationObject, getUpdateCount, getUpdatedRowsCount, getWarnings, hashCode, hasOpenResultSet, internalExecute, isClosed, isCloseOnCompletion, isExecuteProcedureStatement, isPoolable, isSimpleIdentifier, isValid, isWrapperFor, nativeSQL, notifyStatementCompleted, notifyStatementStarted, notifyStatementStarted, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, toArray, toLargeArray, unwrapclone, getClass, notify, notifyAll, toString, wait, wait, waitgetCurrentResultSet, getDeletedRowsCount, getInsertedRowsCount, getLastExecutionPlan, getLocalStatementId, getUpdatedRowsCount, hasOpenResultSet, isClosed, isValidcancel, clearWarnings, close, closeOnCompletion, executeBatch, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeoutpublic static final java.lang.String METHOD_NOT_SUPPORTED
protected boolean[] isParamSet
protected final java.util.List<java.lang.Object> batchList
protected AbstractPreparedStatement(GDSHelper c, int rsType, int rsConcurrency, int rsHoldability, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener) throws java.sql.SQLException
FBCallableStatement
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(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.public void completeStatement(CompletionReason reason) throws java.sql.SQLException
completeStatement in class FBStatementjava.sql.SQLExceptionprotected void notifyStatementCompleted(boolean success)
throws java.sql.SQLException
notifyStatementCompleted in class FBStatementjava.sql.SQLExceptionpublic 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 nulljava.sql.SQLException - if a database access error occurspublic 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 occurspublic FirebirdParameterMetaData getFirebirdParameterMetaData() throws java.sql.SQLException
java.sql.SQLExceptionpublic 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.Typesjava.sql.SQLException - if a database access error occurspublic void setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
int length)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setBinaryStream(int parameterIndex,
java.io.InputStream inputStream,
long length)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setBinaryStream(int parameterIndex,
java.io.InputStream inputStream)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 valuejava.sql.SQLException - if a database access error occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 setjava.sql.SQLException - if a database access occurspublic 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 parameterjava.sql.SQLException - if a database access error occursprotected FieldDescriptor getParameterDescriptor(int columnIndex)
FieldDescriptor of the specified parameter.columnIndex - 1-based index of the parameterprotected FBField getField(int columnIndex) throws java.sql.SQLException
java.sql.SQLExceptionpublic final 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 streamjava.sql.SQLException - if a database access error occurspublic final void setAsciiStream(int parameterIndex,
java.io.InputStream x,
long length)
throws java.sql.SQLException
setAsciiStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic final void setAsciiStream(int parameterIndex,
java.io.InputStream x)
throws java.sql.SQLException
setAsciiStream in interface java.sql.PreparedStatementjava.sql.SQLException@Deprecated
public void setUnicodeStream(int parameterIndex,
java.io.InputStream x,
int length)
throws java.sql.SQLException
For old behavior use setBinaryStream(int, InputStream, int). For JDBC suggested behavior,
use setCharacterStream(int, Reader, int).
setUnicodeStream in interface java.sql.PreparedStatementjava.sql.SQLFeatureNotSupportedException - Alwaysjava.sql.SQLExceptionpublic void setURL(int parameterIndex,
java.net.URL url)
throws java.sql.SQLException
setURL in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNCharacterStream(int parameterIndex,
java.io.Reader value,
long length)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setCharacterStream(int, Reader, long).
setNCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNCharacterStream(int parameterIndex,
java.io.Reader value)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setCharacterStream(int, Reader).
setNCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNClob(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setClob(int, Reader, long).
setNClob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNClob(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setClob(int, Reader).
setNClob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNString(int parameterIndex,
java.lang.String value)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setString(int, String).
setNString in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic 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 occurspublic 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 occursTypespublic 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
databasejava.sql.SQLException - if a database access error occurspublic 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 - Determines if the XSQLDA structure should be sent to the
databasetrue if the statement has more result sets.java.sql.SQLExceptionprotected boolean isGeneratedKeyQuery()
isGeneratedKeyQuery in class FBStatementtrue when the current statement is expected to return generated keys, false otherwise.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 FBStatementjava.sql.SQLException - if a database access error occurs or the driver does not
support batch statementsprotected java.util.List<java.lang.Long> executeBatchInternal()
throws java.sql.SQLException
executeBatchInternal in class FBStatementjava.sql.SQLExceptionpublic void setCharacterStream(int parameterIndex,
java.io.Reader reader,
int length)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setCharacterStream(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setCharacterStream(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic 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 valuejava.sql.SQLException - if a database access error occurspublic 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 valuejava.sql.SQLException - if a database access error occurspublic void setBlob(int parameterIndex,
java.io.InputStream inputStream,
long length)
throws java.sql.SQLException
setBlob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setBlob(int parameterIndex,
java.io.InputStream inputStream)
throws java.sql.SQLException
setBlob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic 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 valuejava.sql.SQLException - if a database access error occurspublic void setClob(int parameterIndex,
java.io.Reader reader,
long length)
throws java.sql.SQLException
setClob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setClob(int parameterIndex,
java.io.Reader reader)
throws java.sql.SQLException
setClob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic 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 valuejava.sql.SQLException - if a database access error occurspublic 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.
getMetaData in interface java.sql.PreparedStatementResultSet object's columns or
null if the driver cannot return a
ResultSetMetaData objectjava.sql.SQLException - if a database access error occurs or
this method is called on a closed PreparedStatementjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
this methodpublic 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 datejava.sql.SQLException - if a database access error occurspublic 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 timejava.sql.SQLException - if a database access error occurspublic 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 timestampjava.sql.SQLException - if a database access error occurspublic 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 REFjava.sql.SQLException - if a database access error occursprotected void prepareFixedStatement(java.lang.String sql)
throws java.sql.SQLException
prepareFixedStatement in class FBStatementjava.sql.SQLExceptionpublic java.lang.String getExecutionPlan()
throws java.sql.SQLException
getExecutionPlan in interface FirebirdPreparedStatementjava.sql.SQLExceptionpublic int getStatementType()
throws java.sql.SQLException
TYPE_* constant
values.getStatementType in interface FirebirdPreparedStatementjava.sql.SQLExceptionpublic java.sql.ParameterMetaData getParameterMetaData()
throws java.sql.SQLException
getParameterMetaData in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setNClob(int parameterIndex,
java.sql.NClob value)
throws java.sql.SQLException
Implementation note: This method behaves exactly the same as setClob(int, Clob).
setNClob in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setRowId(int parameterIndex,
java.sql.RowId x)
throws java.sql.SQLException
setRowId in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setSQLXML(int parameterIndex,
java.sql.SQLXML xmlObject)
throws java.sql.SQLException
setSQLXML in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
FBStatementResultSet object.executeQuery in interface java.sql.StatementexecuteQuery in class FBStatementsql - typically this is a static SQL SELECT statementResultSet object that contains the data produced by the
given query; never nulljava.sql.SQLException - if a database access error occurspublic int executeUpdate(java.lang.String sql)
throws java.sql.SQLException
FBStatementINSERT, 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 FBStatementsql - an SQL INSERT, UPDATE or
DELETE statement or an SQL statement that returns nothingINSERT, UPDATE
or DELETE statements, or 0 for SQL statements that return nothingjava.sql.SQLException - if a database access error occurspublic boolean execute(java.lang.String sql)
throws java.sql.SQLException
FBStatementexecute,
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 FBStatementsql - any SQL statementtrue if the next result is a ResultSet object;
false if it is an update count or there are no more resultsjava.sql.SQLException - if a database access error occursFBStatement.getResultSet(),
FBStatement.getUpdateCount(),
FBStatement.getMoreResults()public void addBatch(java.lang.String sql)
throws java.sql.SQLException
FBStatementStatement object. This method is optional.addBatch in interface java.sql.StatementaddBatch in class FBStatementsql - typically this is a static SQL INSERT or
UPDATE statementjava.sql.SQLException - if a database access error occurs, or the
driver does not support batch statementspublic int executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
FBStatementStatement 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 FBStatementsql - 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_KEYSjava.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 allowedjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
this method with a constant of Statement.RETURN_GENERATED_KEYSpublic int executeUpdate(java.lang.String sql,
int[] columnIndex)
throws java.sql.SQLException
FBStatementINSERT 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 FBStatementsql - 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 rowjava.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 indexesjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodpublic int executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
FBStatementINSERT 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 FBStatementsql - 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 rowINSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothingjava.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 namesjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodpublic boolean execute(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
FBStatementINSERT 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 FBStatementsql - 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_KEYStrue if the first result is a ResultSet
object; false if it is an update count or there are
no resultsjava.sql.SQLException - if a database access error 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_KEYSFBStatement.getResultSet(),
FBStatement.getUpdateCount(),
FBStatement.getMoreResults(),
FBStatement.getGeneratedKeys()public boolean execute(java.lang.String sql,
int[] columnIndexes)
throws java.sql.SQLException
FBStatementINSERT 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 FBStatementsql - 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 getGeneratedKeystrue if the first result is a ResultSet
object; false if it is an update count or there
are no resultsjava.sql.SQLException - if a database access error occurs,
this method is called on a closed Statement or the
elements in the int array passed to this method
are not valid column indexesjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodFBStatement.getResultSet(),
FBStatement.getUpdateCount(),
FBStatement.getMoreResults()public boolean execute(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
FBStatementINSERT 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 FBStatementsql - 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 getGeneratedKeystrue if the next result is a ResultSet
object; false if it is an update count or there
are no more resultsjava.sql.SQLException - if a database access error occurs,
this method is called on a closed Statement or the
elements of the String array passed to this
method are not valid column namesjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this methodFBStatement.getResultSet(),
FBStatement.getUpdateCount(),
FBStatement.getMoreResults(),
FBStatement.getGeneratedKeys()public long executeLargeUpdate()
throws java.sql.SQLException
java.sql.SQLExceptionCopyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.