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

📄 statement.java

📁 java数据库源代码 请看看啊 提点宝贵的意见
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * @(#)Statement.java	1.39 03/01/28 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package java.sql;/** * <P>The object used for executing a static SQL statement * and returning the results it produces. * <P> * By default, only one <code>ResultSet</code> object per <code>Statement</code> * object can be open at the same time. Therefore, if the reading of one  * <code>ResultSet</code> object is interleaved * with the reading of another, each must have been generated by * different <code>Statement</code> objects. All execution methods in the * <code>Statement</code> interface implicitly close a statment's current  * <code>ResultSet</code> object if an open one exists. * * @see Connection#createStatement * @see ResultSet  */public interface Statement {    /**     * Executes the given SQL statement, which returns a single      * <code>ResultSet</code> object.     *     * @param sql an SQL statement to be sent to the database, typically a      *        static SQL <code>SELECT</code> statement     * @return a <code>ResultSet</code> object that contains the data produced      *         by the given query; never <code>null</code>      * @exception SQLException if a database access error occurs or the given     *            SQL statement produces anything other than a single     *            <code>ResultSet</code> object     */    ResultSet executeQuery(String sql) throws SQLException;    /**     * Executes the given SQL statement, which may be an <code>INSERT</code>,      * <code>UPDATE</code>, or <code>DELETE</code> statement or an     * SQL statement that returns nothing, such as an SQL DDL statement.     *     * @param sql an SQL <code>INSERT</code>, <code>UPDATE</code> or     * <code>DELETE</code> statement or an SQL statement that returns nothing     * @return either the row count for <code>INSERT</code>, <code>UPDATE</code>     * or <code>DELETE</code> statements, or <code>0</code> for SQL statements      * that return nothing     * @exception SQLException if a database access error occurs or the given     *            SQL statement produces a <code>ResultSet</code> object     */    int executeUpdate(String sql) throws SQLException;    /**     * Releases this <code>Statement</code> object's database      * and JDBC resources immediately instead of waiting for     * this to happen when it is automatically closed.     * It is generally good practice to release resources as soon as     * you are finished with them to avoid tying up database     * resources.     * <P>     * Calling the method <code>close</code> on a <code>Statement</code>     * object that is already closed has no effect.     * <P>     * <B>Note:</B> A <code>Statement</code> object is automatically closed      * when it is garbage collected. When a <code>Statement</code> object is      * closed, its current <code>ResultSet</code> object, if one exists, is      * also closed.       *     * @exception SQLException if a database access error occurs     */    void close() throws SQLException;    //----------------------------------------------------------------------    /**     * Retrieves the maximum number of bytes that can be     * returned for character and binary column values in a <code>ResultSet</code>      * object produced by this <code>Statement</code> object.     * This limit applies only to <code>BINARY</code>,     * <code>VARBINARY</code>, <code>LONGVARBINARY</code>, <code>CHAR</code>,     * <code>VARCHAR</code>, and <code>LONGVARCHAR</code>     * columns.  If the limit is exceeded, the excess data is silently     * discarded.     *     * @return the current column size limit for columns storing character and      *         binary values; zero means there is no limit      * @exception SQLException if a database access error occurs     * @see #setMaxFieldSize     */    int getMaxFieldSize() throws SQLException;        /**     * Sets the limit for the maximum number of bytes in a <code>ResultSet</code>     * column storing character or binary values to     * the given number of bytes.  This limit applies     * only to <code>BINARY</code>, <code>VARBINARY</code>,     * <code>LONGVARBINARY</code>, <code>CHAR</code>, <code>VARCHAR</code>, and     * <code>LONGVARCHAR</code> fields.  If the limit is exceeded, the excess data     * is silently discarded. For maximum portability, use values     * greater than 256.     *     * @param max the new column size limit in bytes; zero means there is no limit      * @exception SQLException if a database access error occurs      *            or the condition max >= 0 is not satisfied     * @see #getMaxFieldSize     */    void setMaxFieldSize(int max) throws SQLException;    /**     * Retrieves the maximum number of rows that a     * <code>ResultSet</code> object produced by this     * <code>Statement</code> object can contain.  If this limit is exceeded,      * the excess rows are silently dropped.     *     * @return the current maximum number of rows for a <code>ResultSet</code>     *         object produced by this <code>Statement</code> object;      *         zero means there is no limit     * @exception SQLException if a database access error occurs     * @see #setMaxRows     */    int getMaxRows() throws SQLException;    /**     * Sets the limit for the maximum number of rows that any     * <code>ResultSet</code> object can contain to the given number.     * If the limit is exceeded, the excess     * rows are silently dropped.     *     * @param max the new max rows limit; zero means there is no limit      * @exception SQLException if a database access error occurs     *            or the condition max >= 0 is not satisfied     * @see #getMaxRows     */    void setMaxRows(int max) throws SQLException;    /**     * Sets escape processing on or off.     * If escape scanning is on (the default), the driver will do     * escape substitution before sending the SQL statement to the database.     *     * Note: Since prepared statements have usually been parsed prior     * to making this call, disabling escape processing for      * <code>PreparedStatements</code> objects will have no effect.     *     * @param enable <code>true</code> to enable escape processing;     *       <code>false</code> to disable it     * @exception SQLException if a database access error occurs     */    void setEscapeProcessing(boolean enable) throws SQLException;    /**     * Retrieves the number of seconds the driver will     * wait for a <code>Statement</code> object to execute. If the limit is exceeded, a     * <code>SQLException</code> is thrown.     *     * @return the current query timeout limit in seconds; zero means there is      *         no limit      * @exception SQLException if a database access error occurs     * @see #setQueryTimeout     */    int getQueryTimeout() throws SQLException;    /**     * Sets the number of seconds the driver will wait for a      * <code>Statement</code> object to execute to the given number of seconds.     * If the limit is exceeded, an <code>SQLException</code> is thrown.     *     * @param seconds the new query timeout limit in seconds; zero means      *        there is no limit     * @exception SQLException if a database access error occurs     *            or the condition seconds >= 0 is not satisfied     * @see #getQueryTimeout     */    void setQueryTimeout(int seconds) throws SQLException;    /**     * Cancels this <code>Statement</code> object if both the DBMS and     * driver support aborting an SQL statement.     * This method 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;    /**     * Retrieves the first warning reported by calls on this <code>Statement</code> object.     * Subsequent <code>Statement</code> object warnings will be chained to this     * <code>SQLWarning</code> object.     *     * <p>The warning chain is automatically cleared each time     * a statement is (re)executed. This method may not be called on a closed     * <code>Statement</code> object; doing so will cause an <code>SQLException</code>     * to be thrown.     *     * <P><B>Note:</B> If you are processing a <code>ResultSet</code> object, any     * warnings associated with reads on that <code>ResultSet</code> object      * will be chained on it rather than on the <code>Statement</code>     * object that produced it.     *     * @return the first <code>SQLWarning</code> object or <code>null</code>      *         if there are no warnings     * @exception SQLException if a database access error occurs or this      *            method is called on a closed statement     */    SQLWarning getWarnings() throws SQLException;    /**     * Clears all the warnings reported on this <code>Statement</code>     * object. After a call to this method,     * the method <code>getWarnings</code> will return      * <code>null</code> until a new warning is reported for this     * <code>Statement</code> object.       *     * @exception SQLException if a database access error occurs     */    void clearWarnings() throws SQLException;    /**     * Sets the SQL cursor name to the given <code>String</code>, which      * will be used by subsequent <code>Statement</code> object      * <code>execute</code> methods. This name can then be     * used in SQL positioned update or delete statements to identify the     * current row in the <code>ResultSet</code> object generated by this      * statement.  If the database does not support positioned update/delete,      * this method is a noop.  To insure that a cursor has the proper isolation     * level to support updates, the cursor's <code>SELECT</code> statement      * should have the form <code>SELECT FOR UPDATE</code>.  If      * <code>FOR UPDATE</code> is not present, positioned updates may fail.     *     * <P><B>Note:</B> By definition, the execution of positioned updates and     * deletes must be done by a different <code>Statement</code> object than      * the one that generated the <code>ResultSet</code> object being used for      * positioning. Also, cursor names must be unique within a connection.     *     * @param name the new cursor name, which must be unique within     *             a connection     * @exception SQLException if a database access error occurs     */    void setCursorName(String name) throws SQLException;	    //----------------------- Multiple Results --------------------------    /**     * Executes the given SQL statement, which may return multiple results.     * 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.       * <P>     * The <code>execute</code> method executes an SQL statement and indicates the     * form of the first result.  You must then use the methods      * <code>getResultSet</code> or <code>getUpdateCount</code>     * to retrieve the result, and <code>getMoreResults</code> to     * move to any subsequent result(s).     *     * @param sql any SQL statement     * @return <code>true</code> if the first result is a <code>ResultSet</code>      *         object; <code>false</code> if it is an update count or there are      *         no results     * @exception SQLException if a database access error occurs     * @see #getResultSet     * @see #getUpdateCount     * @see #getMoreResults 

⌨️ 快捷键说明

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