⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statement.java

📁 一个JDBC数据库连接的组件
💻 JAVA
字号:
/* * @(#)Statement.java	1.12 98/04/24 *  * Copyright 1996-1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information").  You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Sun. */package java.sql;/** * <P>A Statement object is used for executing a static SQL statement * and obtaining the results produced by it.  * * <P>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 statment's current ResultSet if an open one exists. * * @see Connection#createStatement * @see ResultSet  */public interface Statement {    /**     * Execute a SQL statement that returns a single ResultSet.     *     * @param sql typically this is a static SQL SELECT statement     * @return a ResultSet that contains the data produced by the     * query; never null      * @exception SQLException if a database-access error occurs.     */    ResultSet executeQuery(String sql) throws SQLException;    /**     * Execute a SQL INSERT, UPDATE or DELETE statement. In addition,     * SQL statements that return nothing such as SQL DDL statements     * can be executed.     *     * @param sql a SQL INSERT, UPDATE or DELETE statement or a SQL     * statement that returns nothing     * @return either the row count for INSERT, UPDATE or DELETE or 0     * for SQL statements that return nothing     * @exception SQLException if a database-access error occurs.     */    int executeUpdate(String sql) throws SQLException;    /**     * In many cases, it is desirable to immediately release a     * Statements's database and JDBC resources instead of waiting for     * this to happen when it is automatically closed; the close     * method provides this immediate release.     *     * <P><B>Note:</B> A Statement is automatically closed when it is     * garbage collected. When a Statement is closed, its current     * ResultSet, if one exists, is also closed.       *     * @exception SQLException if a database-access error occurs.     */    void close() throws SQLException;    //----------------------------------------------------------------------    /**     * 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.  If the limit is exceeded, the excess data is silently     * discarded.     *     * @return the current max column size limit; zero means unlimited      * @exception SQLException if a database-access error occurs.     */    int getMaxFieldSize() throws SQLException;        /**     * The maxFieldSize limit (in bytes) is set to limit the size of     * data that can be returned for any column value; it only applies     * to BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, and     * LONGVARCHAR fields.  If the limit is exceeded, the excess data     * is silently discarded. For maximum portability use values     * greater than 256.     *     * @param max the new max column size limit; zero means unlimited      * @exception SQLException if a database-access error occurs.     */    void setMaxFieldSize(int max) throws SQLException;    /**     * The maxRows limit is the maximum number of rows that a     * ResultSet can contain.  If the limit is exceeded, the excess     * rows are silently dropped.     *     * @return the current max row limit; zero means unlimited     * @exception SQLException if a database-access error occurs.     */    int getMaxRows() throws SQLException;    /**     * The maxRows limit is set to limit the number of rows that any     * ResultSet can contain.  If the limit is exceeded, the excess     * rows are silently dropped.     *     * @param max the new max rows limit; zero means unlimited      * @exception SQLException if a database-access error occurs.     */    void setMaxRows(int max) throws SQLException;    /**     * If escape scanning is on (the default), the driver will do     * escape substitution before sending the SQL to the database.     *     * Note: Since prepared statements have usually been parsed prior     * to making this call, disabling escape processing for prepared     * statements will like have no affect.     *     * @param enable true to enable; false to disable     * @exception SQLException if a database-access error occurs.     */    void setEscapeProcessing(boolean enable) throws SQLException;    /**     * The queryTimeout limit is the number of seconds the driver will     * wait for a Statement to execute. If the limit is exceeded, a     * SQLException is thrown.     *     * @return the current query timeout limit in seconds; zero means unlimited      * @exception SQLException if a database-access error occurs.     */    int getQueryTimeout() throws SQLException;    /**     * The queryTimeout limit is the number of seconds the driver will     * wait for a Statement to execute. If the limit is exceeded, a     * SQLException is thrown.     *     * @param seconds the new query timeout limit in seconds; zero means      * unlimited      * @exception SQLException if a database-access error occurs.     */    void setQueryTimeout(int seconds) throws SQLException;    /**     * Cancel can be used by one thread to cancel a statement that     * is being executed by another thread.     *     * @exception SQLException if a database-access error occurs.     */    void cancel() throws SQLException;    /**     * The first warning reported by calls on this Statement is     * returned.  A Statment's execute methods clear its SQLWarning     * chain. Subsequent Statement warnings will be chained to this     * SQLWarning.     *     * <p>The warning chain is automatically cleared each time     * a statement is (re)executed.     *     * <P><B>Note:</B> If you are processing a ResultSet then any     * warnings associated with ResultSet reads will be chained on the     * ResultSet object.     *     * @return the first SQLWarning or null      * @exception SQLException if a database-access error occurs.     */    SQLWarning getWarnings() throws SQLException;    /**     * After this call, getWarnings returns null until a new warning is     * reported for this Statement.       *     * @exception SQLException if a database-access error occurs.     */    void clearWarnings() throws SQLException;    /**     * setCursorname defines the SQL cursor name that will be used by     * subsequent Statement execute methods. This name can then be     * used in SQL positioned update/delete statements to identify the     * current row in the ResultSet generated by this statement.  If     * the database doesn't support positioned update/delete, this     * method is a noop.  To insure that a cursor has the proper isolation     * level to support update, the cursor's select statement should be     * of the form 'select for update ...'. If the 'for update' clause is      * omitted the positioned updates may fail.     *     * <P><B>Note:</B> By definition, positioned update/delete     * execution must be done by a different Statement than the one     * which generated the ResultSet being used for positioning. Also,     * cursor names must be unique within a Connection.     *     * @param name the new cursor name.       * @exception SQLException if a database-access error occurs.     */    void setCursorName(String name) throws SQLException;	    //----------------------- Multiple Results --------------------------    /**     * Execute a SQL statement that may return multiple results.     * Under some (uncommon) situations a single SQL statement may return     * multiple result sets and/or update counts.  Normally you can ignore     * this, unless you're executing a stored procedure that you know may     * return multiple results, or unless you're dynamically executing an     * unknown SQL string.  The "execute", "getMoreResults", "getResultSet"     * and "getUpdateCount" methods let you navigate through multiple results.     *     * The "execute" method executes a SQL statement and indicates the     * form of the first result.  You can then use getResultSet or     * getUpdateCount to retrieve the result, and getMoreResults to     * move to any subsequent result(s).     *     * @param sql any SQL statement     * @return true if the next result is a ResultSet; false if it is     * an update count or there are no more results     * @exception SQLException if a database-access error occurs.     * @see #getResultSet     * @see #getUpdateCount     * @see #getMoreResults      */    boolean execute(String sql) throws SQLException;	    /**     *  getResultSet returns the current result as a ResultSet.  It     *  should only be called once per result.     *     * @return the current result as a ResultSet; null if the result     * is an update count or there are no more results     * @exception SQLException if a database-access error occurs.     * @see #execute      */    ResultSet getResultSet() throws SQLException;     /**     *  getUpdateCount returns the current result as an update count;     *  if the result is a ResultSet or there are no more results, -1     *  is returned.  It should only be called once per result.     *      * @return the current result as an update count; -1 if it is a     * ResultSet or there are no more results     * @exception SQLException if a database-access error occurs.     * @see #execute      */    int getUpdateCount() throws SQLException;     /**     * getMoreResults moves to a Statement's next result.  It returns true if      * this result is a ResultSet.  getMoreResults also implicitly     * closes any current ResultSet obtained with getResultSet.     *     * There are no more results when (!getMoreResults() &&     * (getUpdateCount() == -1)     *     * @return true if the next result is a ResultSet; false if it is     * an update count or there are no more results     * @exception SQLException if a database-access error occurs.     * @see #execute      */    boolean getMoreResults() throws SQLException;     //--------------------------JDBC 2.0-----------------------------    /**     * JDBC 2.0     *     * Give a hint as to the direction in which the rows in a result set     * will be processed. The hint applies only to result sets created      * using this Statement object.  The default value is      * ResultSet.FETCH_FORWARD.     *     * @param direction the initial direction for processing rows     * @exception SQLException if a database-access error occurs or direction     * is not one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or     * ResultSet.FETCH_UNKNOWN     */    void setFetchDirection(int direction) throws SQLException;    /**     * JDBC 2.0     *     * Determine the fetch direction.     *     * @return the default fetch direction     * @exception SQLException if a database-access error occurs     */    int getFetchDirection() throws SQLException;    /**     * 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.  The number      * of rows specified only affects result sets created using this      * statement. If the value specified is zero, then the hint is ignored.     * The default value is zero.     *     * @param rows the number of rows to fetch     * @exception SQLException if a database-access error occurs, or the     * condition 0 <= rows <= this.getMaxRows() is not satisfied.     */    void setFetchSize(int rows) throws SQLException;      /**     * JDBC 2.0     *     * Determine the default fetch size.     */    int getFetchSize() throws SQLException;    /**     * JDBC 2.0     *     * Determine the result set concurrency.     */    int getResultSetConcurrency() throws SQLException;    /**     * JDBC 2.0     *     * Determine the result set type.     */    int getResultSetType()  throws SQLException;    /**     * JDBC 2.0     *     * Adds a SQL command to the current batch of commmands for the statement.     * This method is optional.     *     * @param sql typically this is a static SQL INSERT or UPDATE statement     * @exception SQLException if a database-access error occurs, or the     * driver does not support batch statements     */    void addBatch( String sql ) throws SQLException;    /**     * JDBC 2.0     *     * Make the set of commands in the current batch empty.     * This method is optional.     *     * @exception SQLException if a database-access error occurs, or the     * driver does not support batch statements     */    void clearBatch() throws SQLException;    /**     * JDBC 2.0     *      * Submit a batch of commands to the database for execution.     * This method is optional.     *     * @return an array of update counts containing one element for each     * command in the batch.  The array is ordered according      * to the order in which commands were inserted into the batch     * @exception SQLException if a database-access error occurs, or the     * driver does not support batch statements     */    int[] executeBatch() throws SQLException;    /**     * JDBC 2.0     *      * Return the Connection that produced the Statement.     */    Connection getConnection()  throws SQLException;}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -