📄 jdbcstatement.java
字号:
* Retrieves the current result as a <code>ResultSet</code> object. * This method should be called only once per result. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Without an interceding call to executeXXX, each invocation of this * method will produce a new, initialized ResultSet instance referring to * the current result, if any. * </div> * <!-- end release-specific documentation --> * * @return the current result as a <code>ResultSet</code> object or * <code>null</code> if the result is an update count or there * are no more results * @exception SQLException if a database access error occurs * @see #execute */ public ResultSet getResultSet() throws SQLException { checkClosed(); return resultIn == null ||!resultIn.isData() ? null : new jdbcResultSet(this, resultIn, connection.connProperties, connection.isNetConn); } /** * <!-- start generic documentation --> * Retrieves the current result as an update count; * if the result is a <code>ResultSet</code> object or there are no more results, -1 * is returned. This method should be called only once per result. <p> * <!-- end generic documentation --> * * @return the current result as an update count; -1 if the current result is a * <code>ResultSet</code> object or there are no more results * @exception SQLException if a database access error occurs * @see #execute */ public int getUpdateCount() throws SQLException {// fredt - omit checkClosed() in order to be able to handle the result of a// SHUTDOWN query// checkClosed(); return (resultIn == null || resultIn.isData()) ? -1 : resultIn .getUpdateCount(); } /** * <!-- start generic documentation --> * Moves to this <code>Statement</code> object's next result, returns * <code>true</code> if it is a <code>ResultSet</code> object, and * implicitly closes any current <code>ResultSet</code> * object(s) obtained with the method <code>getResultSet</code>. * * <P>There are no more results when the following is true: * <PRE> * <code>(!getMoreResults() && (getUpdateCount() == -1)</code> * </PRE> <p> * <!-- end generic documentation --> * * @return <code>true</code> if the next result is a <code>ResultSet</code> * object; <code>false</code> if it is an update count or there are * no more results * @exception SQLException if a database access error occurs * @see #execute */ public boolean getMoreResults() throws SQLException { checkClosed(); resultIn = null; return false; } //--------------------------JDBC 2.0----------------------------- /** * <!-- start generic documentation --> * Gives the driver a hint as to the direction in which * rows will be processed in <code>ResultSet</code> * objects created using this <code>Statement</code> object. The * default value is <code>ResultSet.FETCH_FORWARD</code>. * <P> * Note that this method sets the default fetch direction for * result sets generated by this <code>Statement</code> object. * Each result set has its own methods for getting and setting * its own fetch direction. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Including 1.7.2, HSQLDB supports only <code>FETCH_FORWARD</code>. <p> * * Setting any other value will throw an <code>SQLException</code> * stating that the operation is not supported. * </div> * <!-- end release-specific documentation --> * * @param direction the initial direction for processing rows * @exception SQLException if a database access error occurs * or the given direction * is not one of <code>ResultSet.FETCH_FORWARD</code>, * <code>ResultSet.FETCH_REVERSE</code>, or * <code>ResultSet.FETCH_UNKNOWN</code> <p> * * HSQLDB throws for all values except <code>FETCH_FORWARD</code> * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) * @see #getFetchDirection */ public void setFetchDirection(int direction) throws SQLException { checkClosed(); if (direction != jdbcResultSet.FETCH_FORWARD) { throw Util.notSupported(); } } /** * <!-- start generic documentation --> * Retrieves the direction for fetching rows from * database tables that is the default for result sets * generated from this <code>Statement</code> object. * If this <code>Statement</code> object has not set * a fetch direction by calling the method <code>setFetchDirection</code>, * the return value is implementation-specific. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Including 1.7.2, HSQLDB always returns FETCH_FORWARD. * </div> * <!-- end release-specific documentation --> * * @return the default fetch direction for result sets generated * from this <code>Statement</code> object * @exception SQLException if a database access error occurs * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) * @see #setFetchDirection */ public int getFetchDirection() throws SQLException { checkClosed(); return jdbcResultSet.FETCH_FORWARD; } /** * <!-- start generic documentation --> * Gives 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 affects only result sets created using this * statement. If the value specified is zero, then the hint is ignored. * The default value is zero. <p> * <!-- start generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Including 1.7.2, calls to this method are ignored; * HSQLDB fetches each result completely as part of * executing its statement. * </div> * <!-- end release-specific documentation --> * * @param rows the number of rows to fetch * @exception SQLException if a database access error occurs, or the * condition 0 <= <code>rows</code> <= <code>this.getMaxRows()</code> * is not satisfied. <p> * * HSQLDB never throws an exception, since calls to this method * are always ignored. * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) * @see #getFetchSize */ public void setFetchSize(int rows) throws SQLException { checkClosed(); } /** * <!-- start generic documentation --> * Retrieves the number of result set rows that is the default * fetch size for <code>ResultSet</code> objects * generated from this <code>Statement</code> object. * If this <code>Statement</code> object has not set * a fetch size by calling the method <code>setFetchSize</code>, * the return value is implementation-specific. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <b>HSQLDB-Specific Information</b> <p> * * Including 1.7.2, this method always returns 0. * HSQLDB fetches each result completely as part of * executing its statement * </div> * <!-- end release-specific documentation --> * * @return the default fetch size for result sets generated * from this <code>Statement</code> object * @exception SQLException if a database access error occurs * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) * @see #setFetchSize */ public int getFetchSize() throws SQLException { checkClosed(); return 0; } /** * <!-- start generic documentation --> * Retrieves the result set concurrency for <code>ResultSet</code> objects * generated by this <code>Statement</code> object. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Including 1.7.2, HSQLDB supports only * <code>CONCUR_READ_ONLY</code> concurrency. * </div> * <!-- end release-specific documentation --> * * @return either <code>ResultSet.CONCUR_READ_ONLY</code> or * <code>ResultSet.CONCUR_UPDATABLE</code> (not supported) * @exception SQLException if a database access error occurs * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) */ public int getResultSetConcurrency() throws SQLException { checkClosed(); return jdbcResultSet.CONCUR_READ_ONLY; } /** * <!-- start generic documentation --> * Retrieves the result set type for <code>ResultSet</code> objects * generated by this <code>Statement</code> object. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * HSQLDB 1.7.0 and later versions support <code>TYPE_FORWARD_ONLY</code> * and <code>TYPE_SCROLL_INSENSITIVE</code>. * </div> * <!-- end release-specific documentation --> * * @return one of <code>ResultSet.TYPE_FORWARD_ONLY</code>, * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code> (not supported) <p> * * <b>Note:</b> Up to and including 1.7.1, HSQLDB never returns * <code>TYPE_SCROLL_SENSITIVE</code> * @exception SQLException if a database access error occurs * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) */ public int getResultSetType() throws SQLException {// fredt - omit checkClosed() in order to be able to handle the result of a// SHUTDOWN query// checkClosed(); return rsType; } /** * <!-- start generic documentation --> * Adds the given SQL command to the current list of commmands for this * <code>Statement</code> object. The commands in this list can be * executed as a batch by calling the method <code>executeBatch</code>. * <P> * <B>NOTE:</B> This method is optional. <p> * <!-- end generic documentation --> * * <!-- start release-specific documentation --> * <div class="ReleaseSpecificDocumentation"> * <h3>HSQLDB-Specific Information:</h3> <p> * * Starting with 1.7.2, this feature is supported. * </div> * <!-- end release-specific documentation --> * * @param sql typically this is a static SQL <code>INSERT</code> or * <code>UPDATE</code> statement * @exception SQLException if a database access error occurs, or the * driver does not support batch updates * @see #executeBatch * @since JDK 1.2 (JDK 1.1.x developers: read the new overview * for jdbcStatement) */ public void addBatch(String sql) throws SQLException { checkClosed();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -