📄 resultset.java
字号:
/* * @(#)ResultSet.java 1.13 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;import java.math.BigDecimal;import java.util.Calendar;/** * <P>A ResultSet provides access to a table of data generated by * executing a Statement. * * <P>A ResultSet maintains a cursor pointing to its current row of * data. Initially the cursor is positioned before the first row. * The 'next' method moves the cursor to the next row. * * <P>The getXXX methods retrieve column values for the current * row. You can retrieve values either using the index number of the * column, or by using the name of the column. In general using the * column index will be more efficient. Columns are numbered from 1. * * <P>For maximum portability, ResultSet columns within each row should be * read in left-to-right order and each column should be read only once. * * <P>For the getXXX methods, the JDBC driver attempts to convert the * underlying data to the specified Java type and returns a suitable * Java value. See the JDBC specification for allowable mappings * from SQL types to Java types with the ResultSet.getXXX methods. * * <P>Column names used as input to getXXX methods are case * insensitive. When performing a getXXX using a column name, if * several columns have the same name, then the value of the first * matching column will be returned. The column name option is * designed to be used when column names are used in the SQL * query. For columns that are NOT explicitly named in the query, it * is best to use column numbers. If column names were used there is * no way for the programmer to guarantee that they actually refer to * the intended columns. * * <P>A ResultSet is automatically closed by the Statement that * generated it when that Statement is closed, re-executed, or is used * to retrieve the next result from a sequence of multiple results. * * <P>The number, types and properties of a ResultSet's columns are * provided by the ResulSetMetaData object returned by the getMetaData * method. * * @see Statement#executeQuery * @see Statement#getResultSet * @see ResultSetMetaData */public interface ResultSet { /** * A ResultSet is initially positioned before its first row; the * first call to next makes the first row the current row; the * second call makes the second row the current row, etc. * * <P>If an input stream from the previous row is open, it is * implicitly closed. The ResultSet's warning chain is cleared * when a new row is read. * * @return true if the new current row is valid; false if there * are no more rows * @exception SQLException if a database-access error occurs. */ boolean next() throws SQLException; /** * In some cases, it is desirable to immediately release a * ResultSet'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 ResultSet is automatically closed by the * Statement that generated it when that Statement is closed, * re-executed, or is used to retrieve the next result from a * sequence of multiple results. A ResultSet is also automatically * closed when it is garbage collected. * * @exception SQLException if a database-access error occurs. */ void close() throws SQLException; /** * A column may have the value of SQL NULL; wasNull reports whether * the last column read had this special value. * Note that you must first call getXXX on a column to try to read * its value and then call wasNull() to find if the value was * the SQL NULL. * * @return true if last column read was SQL NULL * @exception SQLException if a database-access error occurs. */ boolean wasNull() throws SQLException; //====================================================================== // Methods for accessing results by column index //====================================================================== /** * Get the value of a column in the current row as a Java String. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ String getString(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java boolean. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is false * @exception SQLException if a database-access error occurs. */ boolean getBoolean(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java byte. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ byte getByte(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java short. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ short getShort(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java int. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ int getInt(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java long. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ long getLong(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java float. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ float getFloat(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a Java double. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ double getDouble(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a java.math.BigDecimal object. * * @param columnIndex the first column is 1, the second is 2, ... * @param scale the number of digits to the right of the decimal * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. * @deprecated */ BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException; /** * Get the value of a column in the current row as a Java byte array. * The bytes represent the raw values returned by the driver. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ byte[] getBytes(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a java.sql.Date object. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ java.sql.Date getDate(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a java.sql.Time object. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ java.sql.Time getTime(int columnIndex) throws SQLException; /** * Get the value of a column in the current row as a java.sql.Timestamp object. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ java.sql.Timestamp getTimestamp(int columnIndex) throws SQLException; /** * A column value can be retrieved as a stream of ASCII characters * and then read in chunks from the stream. This method is particularly * suitable for retrieving large LONGVARCHAR values. The JDBC driver will * do any necessary conversion from the database format into ASCII. * * <P><B>Note:</B> All the data in the returned stream must be * read prior to getting the value of any other column. The next * call to a get method implicitly closes the stream. . Also, a * stream may return 0 for available() whether there is data * available or not. * * @param columnIndex the first column is 1, the second is 2, ... * @return a Java input stream that delivers the database column value * as a stream of one byte ASCII characters. If the value is SQL NULL * then the result is null. * @exception SQLException if a database-access error occurs. */ java.io.InputStream getAsciiStream(int columnIndex) throws SQLException; /** * A column value can be retrieved as a stream of Unicode characters * and then read in chunks from the stream. This method is particularly * suitable for retrieving large LONGVARCHAR values. The JDBC driver will * do any necessary conversion from the database format into Unicode. * * <P><B>Note:</B> All the data in the returned stream must be * read prior to getting the value of any other column. The next * call to a get method implicitly closes the stream. . Also, a * stream may return 0 for available() whether there is data * available or not. * * @param columnIndex the first column is 1, the second is 2, ... * @return a Java input stream that delivers the database column value * as a stream of two byte Unicode characters. If the value is SQL NULL * then the result is null. * @exception SQLException if a database-access error occurs. * @deprecated */ java.io.InputStream getUnicodeStream(int columnIndex) throws SQLException; /** * A column value can be retrieved as a stream of uninterpreted bytes * and then read in chunks from the stream. This method is particularly * suitable for retrieving large LONGVARBINARY values. * * <P><B>Note:</B> All the data in the returned stream must be * read prior to getting the value of any other column. The next * call to a get method implicitly closes the stream. Also, a * stream may return 0 for available() whether there is data * available or not. * * @param columnIndex the first column is 1, the second is 2, ... * @return a Java input stream that delivers the database column value * as a stream of uninterpreted bytes. If the value is SQL NULL * then the result is null. * @exception SQLException if a database-access error occurs. */ java.io.InputStream getBinaryStream(int columnIndex) throws SQLException; //====================================================================== // Methods for accessing results by column name //====================================================================== /** * Get the value of a column in the current row as a Java String. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is null * @exception SQLException if a database-access error occurs. */ String getString(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java boolean. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is false * @exception SQLException if a database-access error occurs. */ boolean getBoolean(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java byte. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ byte getByte(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java short. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ short getShort(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java int. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ int getInt(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java long. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ long getLong(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java float. * * @param columnName is the SQL name of the column * @return the column value; if the value is SQL NULL, the result is 0 * @exception SQLException if a database-access error occurs. */ float getFloat(String columnName) throws SQLException; /** * Get the value of a column in the current row as a Java double.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -