All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class com.ibm.as400.access.AS400JDBCStatement

java.lang.Object
   |
   +----com.ibm.as400.access.AS400JDBCStatement

public class AS400JDBCStatement
extends Object
implements Statement

The AS400JDBCStatement class provides a mechanism for executing static SQL statements. Use Connection.createStatement() to create new Statement objects.

Only one result set per statement can be open at any point in time. Therefore, if an application needs to read from multiple result sets, then each must be generated by a different statement.

It is possible to run multiple statements from the same connection in different threads, but accessing a single statement from different threads can produce unexpected results. Therefore, it is safest to confine a statement to a single thread.

Note that the connection keeps a reference to each statement that it creates. This means that statements will not get garbage collected until the connection gets garbage collected. It is best to explicitly close statements rather than counting on garbage collection.


Method Index

 o addBatch(String)
Adds an SQL statement to the current batch of SQL statements.
 o cancel()
Cancels the statement.
 o clearBatch()
Clears the current batch of SQL statements.
 o clearWarnings()
Clears all warnings that have been reported for the statement.
 o close()
Releases the statement's resources immediately instead of waiting for them to be automatically released.
 o execute(String)
Runs an SQL statement that may return multiple result sets.
 o executeBatch()
Runs the batch of SQL statements.
 o executeQuery(String)
Runs an SQL statement that returns a single result set.
 o executeUpdate(String)
Runs an SQL INSERT, UPDATE, or DELETE statement, or any SQL statement that does not return a result set.
 o finalize()
Closes the statement if not explicitly closed by the caller.
 o getConnection()
Returns the connection for this statement.
 o getFetchDirection()
Returns the fetch direction.
 o getFetchSize()
Returns the fetch size.
 o getMaxFieldSize()
Returns the maximum field size limit for the statement.
 o getMaxRows()
Returns the maximum rows limit for the statement.
 o getMoreResults()
Returns the next result set.
 o getQueryTimeout()
Returns the query timeout limit for this statement.
 o getResultSet()
Returns the current result set.
 o getResultSetConcurrency()
Returns the result set concurrency to be used for this statement.
 o getResultSetType()
Returns the result set type to be used for this statement.
 o getUpdateCount()
Returns the current update count.
 o getWarnings()
Returns the first warning reported for the statement.
 o setCursorName(String)
Sets the SQL cursor name that will be used by the statement.
 o setEscapeProcessing(boolean)
Sets the escape processing mode.
 o setFetchDirection(int)
Sets the direction in which the rows in a result set will be processed.
 o setFetchSize(int)
Sets the number of rows to be fetched from the database when more rows are needed.
 o setMaxFieldSize(int)
Sets the maximum field size limit.
 o setMaxRows(int)
Sets the maximum rows limit.
 o setQueryTimeout(int)
Sets the query timeout limit.
 o toString()
Returns the statement name.

Methods

 o addBatch
 public void addBatch(String sql) throws SQLException
Adds an SQL statement to the current batch of SQL statements.

Parameters:
sql - The SQL statement to be added to the current batch. This can be any SQL statement that does not return a result set.
Throws: SQLException
If the statement is not open or the SQL statement contains a syntax error.
 o cancel
 public void cancel() throws SQLException
Cancels the statement. This is useful when one thread needs to cancel a statement that is being executed by another thread. This will close the current result set.

Throws: SQLException
If the statement is not open or an error occurs.
 o clearBatch
 public void clearBatch() throws SQLException
Clears the current batch of SQL statements.

Throws: SQLException
If the statement is not open.
 o clearWarnings
 public void clearWarnings() throws SQLException
Clears all warnings that have been reported for the statement. After this call, getWarnings() returns null until a new warning is reported for the statement.

Throws: SQLException
If an error occurs.
 o close
 public void close() throws SQLException
Releases the statement's resources immediately instead of waiting for them to be automatically released. This closes the current result set.

Throws: SQLException
If an error occurs.
 o execute
 public boolean execute(String sql) throws SQLException
Runs an SQL statement that may return multiple result sets. This closes the current result set and clears warnings before executing the new SQL statement.

Under some situations, a single SQL statement may return multiple result sets, an update count, or both. This might occur when executing a stored procedure that returns multiple result sets or when dynamically executing an unknown SQL string.

Use getMoreResults(), getResultSet(), and getUpdateCount() to navigate through multiple result sets, an update count, or both.

Parameters:
sql - The SQL statement.
Returns:
true if a result set was returned, false if an update count was returned or nothing was returned.
Throws: SQLException
If the statement is not open, the SQL statement contains a syntax error, the query timeout limit is exceeded, or an error occurs.
 o executeBatch
 public int[] executeBatch() throws SQLException
Runs the batch of SQL statements. Batch updates can be used to submit a set of SQL statements together as a single unit. The SQL statements are run in the order in which they were added to the batch. The batch is cleared after the SQL statements are run. In addition, this closes the current result set and clears warnings before executing the new SQL statement.

When batch updates are run, autocommit should usually be turned off. This allows the caller to decide whether or not to commit the transaction in the event that an error occurs and some of the SQL statements in a batch fail to run.

Returns:
An array of row counts for the SQL statements that are run. The array contains one element for each statement in the batch of SQL statements. The array is ordered according to the order in which the SQL statements were added to the batch.
Throws: SQLException
If the statement is not open, an SQL statement contains a syntax error, the query timeout limit is exceeded, an SQL statement returns a result set, or an error occurs.
 o executeQuery
 public ResultSet executeQuery(String sql) throws SQLException
Runs an SQL statement that returns a single result set. This closes the current result set and clears warnings before executing the new SQL statement.

Parameters:
sql - The SQL statement.
Returns:
The result set that contains the data produced by the query.
Throws: SQLException
If the statement is not open, the SQL statement contains a syntax error, no result set is returned by the database, the query timeout limit is exceeded, or an error occurs.
 o executeUpdate
 public int executeUpdate(String sql) throws SQLException
Runs an SQL INSERT, UPDATE, or DELETE statement, or any SQL statement that does not return a result set. This closes the current result set and clears warnings before executing the new SQL statement.

Parameters:
sql - The SQL statement.
Returns:
Either the row count for INSERT, UPDATE, or DELETE, or 0 for SQL statements that return nothing.
Throws: SQLException
If the statement is not open, the SQL statement contains a syntax error, the query timeout limit is exceeded, the statement returns a result set, or an error occurs.
 o finalize
 protected void finalize() throws Throwable
Closes the statement if not explicitly closed by the caller.

Throws: Throwable
If an error occurs.
Overrides:
finalize in class Object
 o getConnection
 public Connection getConnection() throws SQLException
Returns the connection for this statement.

Returns:
The connection for this statement.
Throws: SQLException
If an error occurs.
 o getFetchDirection
 public int getFetchDirection() throws SQLException
Returns the fetch direction.

Returns:
The fetch direction.
Throws: SQLException
If the statement is not open.
 o getFetchSize
 public int getFetchSize() throws SQLException
Returns the fetch size.

Returns:
The fetch size.
Throws: SQLException
If the statement is not open.
 o getMaxFieldSize
 public int getMaxFieldSize() throws SQLException
Returns the maximum field size limit for the statement. The maximum field size limit is the maximum amount of data returned for any column value. It applies only to BINARY, VARBINARY, CHAR, and VARCHAR fields. If the limit is exceeded, then the excess data is discarded.

Returns:
The maximum field size limit (in bytes), or 0 for no limit.
Throws: SQLException
If the statement is not open.
 o getMaxRows
 public int getMaxRows() throws SQLException
Returns the maximum rows limit for the statement. The maximum rows limit is the maximum number of rows that a result set can contain. If the limit is exceeded, then the excess rows are dropped.

Returns:
The maximum rows limit, or 0 for no limit.
Throws: SQLException
If the statement is not open.
 o getMoreResults
 public boolean getMoreResults() throws SQLException
Returns the next result set. This closes the current result set.

Returns:
true if another result set is available, false if there are no more result sets.
Throws: SQLException
If an error occurs.
 o getQueryTimeout
 public int getQueryTimeout() throws SQLException
Returns the query timeout limit for this statement. The query timeout limit is the number of seconds that the driver will wait for an SQL statement to execute.

Returns:
The query timeout limit (in seconds), or 0 for no limit.
Throws: SQLException
If the statement is not open.
 o getResultSet
 public ResultSet getResultSet() throws SQLException
Returns the current result set.

Returns:
The current result set, or null if an update count was returned or there are no more result sets.
Throws: SQLException
If the statement is not open.
 o getResultSetConcurrency
 public int getResultSetConcurrency() throws SQLException
Returns the result set concurrency to be used for this statement.

Returns:
The result set concurrency.
Throws: SQLException
If the statement is not open.
 o getResultSetType
 public int getResultSetType() throws SQLException
Returns the result set type to be used for this statement.

Returns:
The result set type.
Throws: SQLException
If the statement is not open.
 o getUpdateCount
 public int getUpdateCount() throws SQLException
Returns the current update count.

Returns:
The update count, or -1 if a result set was returned or there are no more result sets.
Throws: SQLException
If the statement is not open.
 o getWarnings
 public SQLWarning getWarnings() throws SQLException
Returns the first warning reported for the statement. Subsequent warnings may be chained to this warning.

Returns:
The first warning, or null if no warnings have been reported.
Throws: SQLException
If an error occurs.
 o setCursorName
 public void setCursorName(String cursorName) throws SQLException
Sets the SQL cursor name that will be used by the statement. Cursor names must be unique within the connection. The cursor name can only be set when no result set is open.

The cursor name can be used in SQL positioned UPDATE or DELETE statements to identify the current row in the result set generated by this statement. By definition, SQL positioned UPDATEs or DELETEs must be executed by a different statement than the one that generated the result set being used for positioning.

Parameters:
cursorName - The cursor name. If null, a unique default name will be used.
Throws: SQLException
If the statement is not open, a result set is open, the cursor name is not unique within the connection, or an error occurs.
 o setEscapeProcessing
 public void setEscapeProcessing(boolean escapeProcessing) throws SQLException
Sets the escape processing mode. When processing escape clauses, the JDBC driver substitutes escape clauses in SQL statements with DB2 for OS/400 SQL grammar elements. If escape processing is not needed, then setting the escape processing mode to false improves performance.

Parameters:
escapeProcessing - true to process escape clauses; false otherwise. The default is true.
Throws: SQLException
If the statement is not open.
 o setFetchDirection
 public void setFetchDirection(int fetchDirection) throws SQLException
Sets the direction in which the rows in a result set will be processed.

This setting is not used.

Parameters:
fetchDirection - The fetch direction for processing rows. Valid values are:
  • ResultSet.FETCH_FORWARD
  • ResultSet.FETCH_REVERSE
  • ResultSet.FETCH_UNKNOWN
The default is ResultSet.FETCH_FORWARD.
Throws: SQLException
If the statement is not open, the result set type is ResultSet.TYPE_FORWARD_ONLY, and the input value is not ResultSet.FETCH_FORWARD, or the input value is not valid.
 o setFetchSize
 public void setFetchSize(int fetchSize) throws SQLException
Sets the number of rows to be fetched from the database when more rows are needed. The number of rows specified only affects result sets created using this statement. If the value specified is zero, then the driver will choose an appropriate fetch size.

This setting only affects statements that meet the criteria specified in the "block criteria" property. The fetch size is only used if the "block size" property is set to "0".

Parameters:
fetchSize - The number of rows. This must be greater than or equal to 0 and less than or equal to the maximum rows limit. The default is zero.
Throws: SQLException
If the statement is not open or the input value is not valid.
 o setMaxFieldSize
 public void setMaxFieldSize(int maxFieldSize) throws SQLException
Sets the maximum field size limit. The maximum field size limit is the maximum amount of data returned for any column value. It applies only to BINARY, VARBINARY, CHAR, and VARCHAR fields. If the limit is exceeded, then the excess data is discarded.

Parameters:
maxFieldSize - The maximum field size limit (in bytes) or 0 for no limit. The default is 0.
Throws: SQLException
If the statement is not open or the input value is not valid.
 o setMaxRows
 public void setMaxRows(int maxRows) throws SQLException
Sets the maximum rows limit. The maximum rows limit is the maximum number of rows that a result set can contain. If the limit is exceeded, the excess rows are dropped.

Parameters:
maxRows - The maximum rows limit or 0 for no limit. The default is 0.
Throws: SQLException
If the statement is not open or the input value is not valid.
 o setQueryTimeout
 public void setQueryTimeout(int queryTimeout) throws SQLException
Sets the query timeout limit. The query timeout limit is the number of seconds that the driver will wait for a SQL statement to execute.

Parameters:
queryTimeout - The query timeout limit (in seconds) or 0 for no limit. The default is 0.
Throws: SQLException
If the statement is not open or the input value is not valid.
 o toString
 public String toString()
Returns the statement name.

Returns:
The statement name.
Overrides:
toString in class Object

All Packages  Class Hierarchy  This Package  Previous  Next  Index