|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mysql.jdbc.Statement
A Statement object is used for executing a static SQL statement and obtaining the results produced by it.
Only one ResultSet per Statement can be open at any point in time. Therefore, if the reading of one ResultSet is interleaved with the reading of another, each must have been generated by different Statements. All statement execute methods implicitly close a statement's current ResultSet if an open one exists.
Statement
,
ResultSet
Field Summary | |
protected java.util.List |
batchedArgs
Holds batched commands |
protected SingleByteCharsetConverter |
charConverter
The character converter to use (if available) |
protected java.lang.String |
charEncoding
The character encoding to use (if available) |
protected Connection |
connection
The connection that created us |
protected java.lang.String |
currentCatalog
The catalog in use |
protected boolean |
doEscapeProcessing
Should we process escape codes? |
protected boolean |
isClosed
Has this statement been closed? |
protected long |
lastInsertId
The auto_increment value for the last insert |
protected int |
maxFieldSize
The max field size for this statement |
protected int |
maxRows
The maximum number of rows to return for this statement (-1 means _all_ rows) |
protected boolean |
maxRowsChanged
Has someone changed this for this statement? |
protected ResultSet |
nextResults
The next result set |
protected java.util.List |
openResults
List of currently-open ResultSets |
protected boolean |
pedantic
Are we in pedantic mode? |
protected java.sql.SQLWarning |
pendingWarnings
The pending warnings chain |
protected ResultSet |
results
The current results |
protected int |
resultSetConcurrency
The concurrency for this result set (updatable or not) |
protected int |
resultSetType
The type of this result set (scroll sensitive or in-sensitive) |
protected int |
timeout
The timeout for a query |
protected long |
updateCount
The update count for this statement |
protected java.sql.SQLWarning |
warningChain
The warnings chain. |
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 | |
Statement(Connection c,
java.lang.String catalog)
Constructor for a Statement. |
Method Summary | |
void |
addBatch(java.lang.String sql)
DOCUMENT ME! |
protected void |
addWarning(java.sql.SQLWarning warning)
|
void |
cancel()
Cancel can be used by one thread to cancel a statement that is being executed by another thread. |
protected void |
checkClosed()
Checks if closed() has been called, and throws an exception if so |
void |
clearBatch()
JDBC 2.0 Make the set of commands in the current batch empty. |
void |
clearWarnings()
After this call, getWarnings returns null until a new warning is reported for this Statement. |
void |
close()
In many cases, it is desirable to immediately release a Statement's database and JDBC resources instead of waiting for this to happen when it is automatically closed. |
protected void |
closeAllOpenResults()
Close any open result sets that have been 'held open' |
protected boolean |
createStreamingResultSet()
We only stream result sets when they are forward-only, read-only, and the fetch size has been set to Integer.MIN_VALUE |
boolean |
execute(java.lang.String sql)
Execute a SQL statement that may return multiple results. |
boolean |
execute(java.lang.String sql,
int returnGeneratedKeys)
|
boolean |
execute(java.lang.String sql,
int[] generatedKeyIndices)
|
boolean |
execute(java.lang.String sql,
java.lang.String[] generatedKeyNames)
|
int[] |
executeBatch()
JDBC 2.0 Submit a batch of commands to the database for execution. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Execute a SQL statement that retruns a single ResultSet |
int |
executeUpdate(java.lang.String sql)
Execute a SQL INSERT, UPDATE or DELETE statement. |
int |
executeUpdate(java.lang.String sql,
int returnGeneratedKeys)
|
int |
executeUpdate(java.lang.String sql,
int[] generatedKeyIndices)
|
int |
executeUpdate(java.lang.String sql,
java.lang.String[] generatedKeyNames)
|
java.sql.Connection |
getConnection()
JDBC 2.0 Return the Connection that produced the Statement. |
int |
getFetchDirection()
JDBC 2.0 Determine the fetch direction. |
int |
getFetchSize()
JDBC 2.0 Determine the default fetch size. |
java.sql.ResultSet |
getGeneratedKeys()
DOCUMENT ME! |
long |
getLastInsertID()
getLastInsertID returns the value of the auto_incremented key after an executeQuery() or excute() call. |
long |
getLongUpdateCount()
getLongUpdateCount returns the current result as an update count, if the result is a ResultSet or there are no more results, -1 is returned. |
int |
getMaxFieldSize()
The maxFieldSize limit (in bytes) is the maximum amount of data returned for any column value; it only applies to BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR and LONGVARCHAR columns. |
int |
getMaxRows()
The maxRows limit is set to limit the number of rows that any ResultSet can contain. |
boolean |
getMoreResults()
getMoreResults moves to a Statement's next result. |
boolean |
getMoreResults(int current)
|
int |
getQueryTimeout()
The queryTimeout limit is the number of seconds the driver will wait for a Statement to execute. |
java.sql.ResultSet |
getResultSet()
getResultSet returns the current result as a ResultSet. |
int |
getResultSetConcurrency()
JDBC 2.0 Determine the result set concurrency. |
int |
getResultSetHoldability()
|
int |
getResultSetType()
JDBC 2.0 Determine the result set type. |
int |
getUpdateCount()
getUpdateCount returns the current result as an update count, if the result is a ResultSet or there are no more results, -1 is returned. |
java.sql.SQLWarning |
getWarnings()
The first warning reported by calls on this Statement is returned. |
void |
setCursorName(java.lang.String name)
setCursorName defines the SQL cursor name that will be used by subsequent execute methods. |
void |
setEscapeProcessing(boolean enable)
If escape scanning is on (the default), the driver will do escape substitution before sending the SQL to the database. |
void |
setFetchDirection(int direction)
JDBC 2.0 Give a hint as to the direction in which the rows in a result set will be processed. |
void |
setFetchSize(int rows)
JDBC 2.0 Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. |
void |
setMaxFieldSize(int max)
Sets the maxFieldSize |
void |
setMaxRows(int max)
Set the maximum number of rows |
void |
setQueryTimeout(int seconds)
Sets the queryTimeout limit |
(package private) void |
setResultSetConcurrency(int concurrencyFlag)
Sets the concurrency for result sets generated by this statement |
(package private) void |
setResultSetType(int typeFlag)
Sets the result set type for result sets generated by this statement |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Connection connection
protected java.util.List batchedArgs
protected java.util.List openResults
protected ResultSet nextResults
protected ResultSet results
protected java.sql.SQLWarning warningChain
protected java.sql.SQLWarning pendingWarnings
protected SingleByteCharsetConverter charConverter
protected java.lang.String charEncoding
protected java.lang.String currentCatalog
protected boolean doEscapeProcessing
protected boolean isClosed
protected boolean maxRowsChanged
protected boolean pedantic
protected int maxFieldSize
protected int maxRows
protected int resultSetConcurrency
protected int resultSetType
protected int timeout
protected long lastInsertId
protected long updateCount
Constructor Detail |
public Statement(Connection c, java.lang.String catalog) throws java.sql.SQLException
c
- the Connection instantation that creates uscatalog
- the database name in use when we were created
java.sql.SQLException
- if an error occurs.Method Detail |
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic void setCursorName(java.lang.String name) throws java.sql.SQLException
Note: This MySQL driver does not support cursors.
setCursorName
in interface java.sql.Statement
name
- the new cursor name
java.sql.SQLException
- if a database access error occurspublic void setEscapeProcessing(boolean enable) throws java.sql.SQLException
setEscapeProcessing
in interface java.sql.Statement
enable
- true to enable; false to disable
java.sql.SQLException
- if a database access error occurspublic void setFetchDirection(int direction) throws java.sql.SQLException
setFetchDirection
in interface java.sql.Statement
direction
- the initial direction for processing rows
java.sql.SQLException
- if a database-access error occurs or direction
is not one of ResultSet.FETCH_FORWARD,
ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWNpublic int getFetchDirection() throws java.sql.SQLException
getFetchDirection
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurspublic void setFetchSize(int rows) throws java.sql.SQLException
setFetchSize
in interface java.sql.Statement
rows
- the number of rows to fetch
java.sql.SQLException
- if a database-access error occurs, or the
condition 0 <= rows <= this.getMaxRows() is not
satisfied.public int getFetchSize() throws java.sql.SQLException
getFetchSize
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException
getGeneratedKeys
in interface java.sql.Statement
java.sql.SQLException
- DOCUMENT ME!public long getLastInsertID()
This gets around the un-threadsafe behavior of "select LAST_INSERT_ID()" which is tied to the Connection that created this Statement, and therefore could have had many INSERTS performed before one gets a chance to call "select LAST_INSERT_ID()".
public long getLongUpdateCount()
This method returns longs as MySQL server versions newer than 3.22.4 return 64-bit values for update counts
public void setMaxFieldSize(int max) throws java.sql.SQLException
setMaxFieldSize
in interface java.sql.Statement
max
- the new max column size limit; zero means unlimited
java.sql.SQLException
- if size exceeds buffer size
java.sql.SQLException
- DOCUMENT ME!public int getMaxFieldSize() throws java.sql.SQLException
getMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic void setMaxRows(int max) throws java.sql.SQLException
setMaxRows
in interface java.sql.Statement
max
- the new max rows limit; zero means unlimited
java.sql.SQLException
- if a database access error occursgetMaxRows
public int getMaxRows() throws java.sql.SQLException
getMaxRows
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic boolean getMoreResults() throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic boolean getMoreResults(int current) throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
getMoreResults(int)
public void setQueryTimeout(int seconds) throws java.sql.SQLException
setQueryTimeout
in interface java.sql.Statement
seconds
- - the new query timeout limit in seconds
java.sql.SQLException
- if a database access error occurspublic int getQueryTimeout() throws java.sql.SQLException
getQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic java.sql.ResultSet getResultSet() throws java.sql.SQLException
getResultSet
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurs
(why?)public int getResultSetConcurrency() throws java.sql.SQLException
getResultSetConcurrency
in interface java.sql.Statement
java.sql.SQLException
- if an error occurspublic int getResultSetHoldability() throws java.sql.SQLException
getResultSetHoldability
in interface java.sql.Statement
java.sql.SQLException
getResultSetHoldability()
public int getResultSetType() throws java.sql.SQLException
getResultSetType
in interface java.sql.Statement
java.sql.SQLException
- if an error occurs.public int getUpdateCount() throws java.sql.SQLException
getUpdateCount
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic java.sql.SQLWarning getWarnings() throws java.sql.SQLException
The Warning chain is automatically cleared each time a statement is (re)executed.
Note: If you are processing a ResultSet then any warnings associated with ResultSet reads will be chained on the ResultSet object.
getWarnings
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic void addBatch(java.lang.String sql) throws java.sql.SQLException
addBatch
in interface java.sql.Statement
sql
- DOCUMENT ME!
java.sql.SQLException
- DOCUMENT ME!public void cancel() throws java.sql.SQLException
cancel
in interface java.sql.Statement
java.sql.SQLException
- only because thats the spec.public void clearBatch() throws java.sql.SQLException
clearBatch
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurs, or the driver
does not support batch statementspublic void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurs
(why?)public void close() throws java.sql.SQLException
Note: A Statement is automatically closed when it is garbage collected. When a Statement is closed, its current ResultSet, if one exists, is also closed.
close
in interface java.sql.Statement
java.sql.SQLException
- if a database access error occurspublic boolean execute(java.lang.String sql) throws java.sql.SQLException
execute
in interface java.sql.Statement
sql
- any SQL statement
java.sql.SQLException
- if a database access error occurspublic boolean execute(java.lang.String sql, int returnGeneratedKeys) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, int)
public boolean execute(java.lang.String sql, int[] generatedKeyIndices) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, int[])
public boolean execute(java.lang.String sql, java.lang.String[] generatedKeyNames) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
execute(String, String[])
public int[] executeBatch() throws java.sql.SQLException
executeBatch
in interface java.sql.Statement
java.sql.SQLException
- if a database-access error occurs, or the driver
does not support batch statementspublic java.sql.ResultSet executeQuery(java.lang.String sql) throws java.sql.SQLException
executeQuery
in interface java.sql.Statement
sql
- typically a static SQL SELECT statement
java.sql.SQLException
- if a database access error occurspublic int executeUpdate(java.lang.String sql) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
sql
- a SQL statement
java.sql.SQLException
- if a database access error occurspublic int executeUpdate(java.lang.String sql, int returnGeneratedKeys) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, int)
public int executeUpdate(java.lang.String sql, int[] generatedKeyIndices) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, int[])
public int executeUpdate(java.lang.String sql, java.lang.String[] generatedKeyNames) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
executeUpdate(String, String[])
protected void checkClosed() throws java.sql.SQLException
java.sql.SQLException
- if this statement has been closedprotected void closeAllOpenResults()
protected boolean createStreamingResultSet()
void setResultSetConcurrency(int concurrencyFlag)
concurrencyFlag
- DOCUMENT ME!void setResultSetType(int typeFlag)
typeFlag
- DOCUMENT ME!protected void addWarning(java.sql.SQLWarning warning)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |