|
2.50.5 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--interbase.interclient.ResultSet
Represents a cursor for the results of a SQL query.
A ResultSet provides access to a table of data. A ResultSet object is usually generated by executing a Statement.
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.
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.
For maximum portability, ResultSet columns within each row should be read in left-to-right order and each column should be read only once.
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.
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.
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.
The number, types and properties of a ResultSet's columns are provided by the ResulSetMetaData object returned by the getMetaData method.
InterClient note: As stated in the specification above "ResultSet columns within each row should be read in left-to-right order and each column should be read only once." This reflects implementation limitations in some underlying database protocols. The current version of InterClient supports random access of result columns. However, future versions may not have this capability by default in order to leverage any performance advantages that may come with sequential-only access. So in the future, random access may require setting a connection property to enable this behavior. Please send mail to mailto:interclient@borland.com if you have an opinion about this behavior.
Statement.executeQuery(java.lang.String)
,
Statement.getResultSet()
,
ResultSetMetaData
Field Summary | |
static int |
CONCUR_READ_ONLY
|
static int |
CONCUR_UPDATABLE
|
static int |
FETCH_FORWARD
The rows in a result set will be processed in a forward direction; first-to-last. |
static int |
FETCH_REVERSE
The rows in a result set will be processed in a reverse direction; last-to-first. |
static int |
FETCH_UNKNOWN
The order in which rows in a result set will be processed is unknown. |
static int |
TYPE_FORWARD_ONLY
|
static int |
TYPE_SCROLL_INSENSITIVE
|
static int |
TYPE_SCROLL_SENSITIVE
|
Fields inherited from interface interbase.interclient.Adaptor |
RIGHT_TRIM_STRINGS, SINGLE_INSTANCE_TIME |
Fields inherited from interface borland.jdbc.SQLAdapter |
RESETABLE_STREAM, RIGHT_TRIM_STRINGS, SINGLE_INSTANCE_TIME |
Fields inherited from interface com.inprise.sql.SQLAdapter |
RESETABLE_STREAM, RIGHT_TRIM_STRINGS, SINGLE_INSTANCE_TIME |
Method Summary | |
boolean |
absolute(int row)
Move to an absolute row number in the result set. |
boolean |
adapt(int modifier,
Object extraInfo)
Adapt this result set object as described by a modifier
in the Adaptor interface. |
void |
afterLast()
Moves to the end of the result set, just after the last row. |
void |
beforeFirst()
Moves to the front of the result set, just before the first row. |
void |
cancelRowUpdates()
The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row. |
void |
clearWarnings()
After this call getWarnings returns null until a new warning is reported for this ResultSet. |
void |
close()
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. |
void |
deleteRow()
Delete the current row from the result set and the underlying database. |
protected void |
finalize()
A result set will be closed when its finalizer is called by the garbage collector. |
int |
findColumn(String columnName)
Map a Resultset column name to a ResultSet column index. |
boolean |
first()
Moves to the first row in the result set. |
Array |
getArray(int column)
Gets an array column. |
Array |
getArray(String columnName)
Gets an array column. |
InputStream |
getAsciiStream(int column)
A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. |
InputStream |
getAsciiStream(String columnName)
A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. |
BigDecimal |
getBigDecimal(int column)
Get the value of a column in the current row as a java.math.BigDecimal object. |
BigDecimal |
getBigDecimal(int column,
int scale)
Deprecated. To be deprecated in Future, to be replaced by getBigDecimal(column) without scale in JDBC 2 |
BigDecimal |
getBigDecimal(String columnName)
Get the value of a column in the current row as a java.math.BigDecimal object. |
BigDecimal |
getBigDecimal(String columnName,
int scale)
Deprecated. To be deprecated in Future, to be replaced by getBigDecimal(columnName) without scale in JDBC 2 |
InputStream |
getBinaryStream(int column)
A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. |
InputStream |
getBinaryStream(String columnName)
A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. |
Blob |
getBlob(int column)
Gets a BLOB column. |
Blob |
getBlob(String columnName)
Gets a BLOB column. |
boolean |
getBoolean(int column)
Get the value of a column in the current row as a Java boolean. |
boolean |
getBoolean(String columnName)
Get the value of a column in the current row as a Java boolean. |
byte |
getByte(int column)
Get the value of a column in the current row as a Java byte. |
byte |
getByte(String columnName)
Get the value of a column in the current row as a Java byte. |
byte[] |
getBytes(int column)
Get the value of a column in the current row as a Java byte array. |
byte[] |
getBytes(String columnName)
Get the value of a column in the current row as a Java byte array. |
Reader |
getCharacterStream(int columnIndex)
Get the value of a column in the current row as a java.io.Reader. |
Reader |
getCharacterStream(String columnName)
Get the value of a column in the current row as a java.io.Reader. |
Clob |
getClob(int column)
Get a CLOB column. |
Clob |
getClob(String columnName)
Gets a CLOB column. |
int |
getConcurrency()
Return the concurrency of this result set. |
String |
getCursorName()
Get the name of the SQL cursor used by this ResultSet. |
Date |
getDate(int column)
Get the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(int column,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(String columnName)
Get the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Date object. |
double |
getDouble(int column)
Get the value of a column in the current row as a Java double. |
double |
getDouble(String columnName)
Get the value of a column in the current row as a Java double. |
int |
getFetchDirection()
Return the fetch direction for this result set. |
int |
getFetchSize()
Return the fetch size for this result set. |
float |
getFloat(int column)
Get the value of a column in the current row as a Java float. |
float |
getFloat(String columnName)
Get the value of a column in the current row as a Java float. |
int |
getInt(int column)
Get the value of a column in the current row as a Java int. |
int |
getInt(String columnName)
Get the value of a column in the current row as a Java int. |
long |
getLong(int column)
Get the value of a column in the current row as a Java long. |
long |
getLong(String columnName)
Get the value of a column in the current row as a Java long. |
ResultSetMetaData |
getMetaData()
The number, types and properties of a ResultSet's columns are provided by the getMetaData method. |
Object |
getObject(int column)
Get the value of a column in the current row as a Java object. |
Object |
getObject(int column,
Map map)
Returns the value of result column as a Java object. |
Object |
getObject(String columnName)
Get the value of a column in the current row as a Java object. |
Object |
getObject(String columnName,
Map map)
Returns the value of a result column as a Java object. |
Ref |
getRef(int column)
Get a REF(<structured-type>) column. |
Ref |
getRef(String columnName)
Get a REF(<structured-type>) column. |
int |
getRow()
Determine the current row number. |
short |
getShort(int column)
Get the value of a column in the current row as a Java short. |
short |
getShort(String columnName)
Get the value of a column in the current row as a Java short. |
Statement |
getStatement()
Returns the Statement that produced this ResultSet. |
String |
getString(int column)
Get the value of a column in the current row as a Java String. |
String |
getString(String columnName)
Get the value of a column in the current row as a Java String. |
Time |
getTime(int column)
Get the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(int column,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(String columnName)
Get the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Time object. |
Timestamp |
getTimestamp(int column)
Get the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(int column,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(String columnName)
Get the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
int |
getType()
Return the type of this result set. |
InputStream |
getUnicodeStream(int column)
Deprecated. To be deprecated in Future, to be replaced by getCharacterStream(column) in JDBC 2. |
InputStream |
getUnicodeStream(String columnName)
Deprecated. To be deprecated in Future, to be replaced by getCharacterStream(columnName) in JDBC 2. |
SQLWarning |
getWarnings()
The first warning reported by calls on this ResultSet is returned. |
void |
insertRow()
Insert the contents of the insert row into the result set and the database. |
boolean |
isAfterLast()
Determine if the cursor is after the last row in the result set. |
boolean |
isBeforeFirst()
Determine if the cursor is before the first row in the result set. |
boolean |
isFirst()
Determine if the cursor is on the first row of the result set. |
boolean |
isLast()
Determine if the cursor is on the last row of the result set. |
boolean |
isNull(int column)
Is the column value a SQL NULL. |
boolean |
last()
Moves to the last row in the result set. |
void |
moveToCurrentRow()
Move the cursor to the remembered cursor position, usually the current row. |
void |
moveToInsertRow()
Move to the insert row. |
boolean |
next()
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. |
boolean |
previous()
Moves to the previous row in the result set. |
void |
refreshRow()
Refresh the value of the current row with its current value in the database. |
boolean |
relative(int rows)
Moves a relative number of rows, either positive or negative. |
void |
revert(int modifier)
Revert back to default JDBC behavior for this object previously adapted for the modification described by the given modifier . |
boolean |
rowDeleted()
Determine if this row has been deleted. |
boolean |
rowInserted()
Determine if the current row has been inserted. |
boolean |
rowUpdated()
Determine if the current row has been updated. |
void |
setFetchDirection(int direction)
Give a hint as to the direction in which the rows in this result set will be processed. |
void |
setFetchSize(int rows)
Give the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this result set. |
void |
updateAsciiStream(int columnIndex,
InputStream x,
int length)
Update a column with an ascii stream value. |
void |
updateAsciiStream(String columnName,
InputStream x,
int length)
Update a column with an ascii stream value. |
void |
updateBigDecimal(int columnIndex,
BigDecimal x)
Update a column with a BigDecimal value. |
void |
updateBigDecimal(String columnName,
BigDecimal x)
Update a column with a BigDecimal value. |
void |
updateBinaryStream(int columnIndex,
InputStream x,
int length)
Update a column with a binary stream value. |
void |
updateBinaryStream(String columnName,
InputStream x,
int length)
Update a column with a binary stream value. |
void |
updateBoolean(int columnIndex,
boolean x)
Update a column with a boolean value. |
void |
updateBoolean(String columnName,
boolean x)
Update a column with a boolean value. |
void |
updateByte(int columnIndex,
byte x)
Update a column with a byte value. |
void |
updateByte(String columnName,
byte x)
Update a column with a byte value. |
void |
updateBytes(int columnIndex,
byte[] x)
Update a column with a byte array value. |
void |
updateBytes(String columnName,
byte[] x)
Update a column with a byte array value. |
void |
updateCharacterStream(int columnIndex,
Reader x,
int length)
Update a column with a character stream value. |
void |
updateCharacterStream(String columnName,
Reader reader,
int length)
Update a column with a character stream value. |
void |
updateDate(int columnIndex,
Date x)
Update a column with a Date value. |
void |
updateDate(String columnName,
Date x)
Update a column with a Date value. |
void |
updateDouble(int columnIndex,
double x)
Update a column with a Double value. |
void |
updateDouble(String columnName,
double x)
Update a column with a double value. |
void |
updateFloat(int columnIndex,
float x)
Update a column with a float value. |
void |
updateFloat(String columnName,
float x)
Update a column with a float value. |
void |
updateInt(int columnIndex,
int x)
Update a column with an integer value. |
void |
updateInt(String columnName,
int x)
Update a column with an integer value. |
void |
updateLong(int columnIndex,
long x)
Update a column with a long value. |
void |
updateLong(String columnName,
long x)
Update a column with a long value. |
void |
updateNull(int columnIndex)
Give a nullable column a null value. |
void |
updateNull(String columnName)
Update a column with a null value. |
void |
updateObject(int columnIndex,
Object x)
Update a column with an Object value. |
void |
updateObject(int columnIndex,
Object x,
int scale)
Update a column with an Object value. |
void |
updateObject(String columnName,
Object x)
Update a column with an Object value. |
void |
updateObject(String columnName,
Object x,
int scale)
Update a column with an Object value. |
void |
updateRow()
Update the underlying database with the new contents of the current row. |
void |
updateShort(int columnIndex,
short x)
Update a column with a short value. |
void |
updateShort(String columnName,
short x)
Update a column with a short value. |
void |
updateString(int columnIndex,
String x)
Update a column with a String value. |
void |
updateString(String columnName,
String x)
Update a column with a String value. |
void |
updateTime(int columnIndex,
Time x)
Update a column with a Time value. |
void |
updateTime(String columnName,
Time x)
Update a column with a Time value. |
void |
updateTimestamp(int columnIndex,
Timestamp x)
Update a column with a Timestamp value. |
void |
updateTimestamp(String columnName,
Timestamp x)
Update a column with a Timestamp value. |
boolean |
wasNull()
A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value. |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int FETCH_FORWARD
public static final int FETCH_REVERSE
public static final int FETCH_UNKNOWN
public static final int TYPE_FORWARD_ONLY
public static final int TYPE_SCROLL_INSENSITIVE
public static final int TYPE_SCROLL_SENSITIVE
public static final int CONCUR_READ_ONLY
public static final int CONCUR_UPDATABLE
Method Detail |
protected void finalize() throws Throwable
Therefore, it is recommended that result sets be explicitly closed even when your application throws an exception. This can be achieved by placing a call to close() in a finally clause of your application as follows
try { ... } finally { if (resultSet != null) try { resultSet.close (); } catch (SQLException ohWell) {} if (statement != null) try { statement.close (); } catch (SQLException ohWell) {} if (connection != null) try { connection.close (); } catch (SQLException ohWell) {} }
Or alternatively, use the new System.runFinalizersOnExit(true) method in Java 1.1 or later.
finalize
in class Object
public boolean next() throws SQLException
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.
InterClient note: InterClient allows for interleaved calls to next() on two separate result sets.
next
in interface ResultSet
SQLException
- if a database access error occurs.public void close() throws SQLException
Note: 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.
close
in interface ResultSet
SQLException
- if a database access error occurs.public boolean wasNull() throws SQLException
wasNull
in interface ResultSet
SQLException
- if a database access error occurs.isNull(int)
public String getString(int column) throws SQLException
getString
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public boolean getBoolean(int column) throws SQLException
getBoolean
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public byte getByte(int column) throws SQLException
getByte
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public short getShort(int column) throws SQLException
getShort
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public int getInt(int column) throws SQLException
getInt
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public long getLong(int column) throws SQLException
getLong
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public float getFloat(int column) throws SQLException
getFloat
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public double getDouble(int column) throws SQLException
getDouble
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public BigDecimal getBigDecimal(int column, int scale) throws SQLException
getBigDecimal(column)
without scale in JDBC 2
getBigDecimal
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...scale
- the number of digits to the right of the decimalSQLException
- if a database access error occurs.public byte[] getBytes(int column) throws SQLException
getBytes
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public Date getDate(int column) throws SQLException
getDate
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public Time getTime(int column) throws SQLException
getTime
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public Timestamp getTimestamp(int column) throws SQLException
getTimestamp
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public InputStream getAsciiStream(int column) throws SQLException
Note: 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.
getAsciiStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public InputStream getUnicodeStream(int column) throws SQLException
getCharacterStream(column)
in JDBC 2.
Note: 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.
getUnicodeStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.getCharacterStream(int)
public InputStream getBinaryStream(int column) throws SQLException
Note: 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.
getBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public String getString(String columnName) throws SQLException
getString
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public boolean getBoolean(String columnName) throws SQLException
getBoolean
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public byte getByte(String columnName) throws SQLException
getByte
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public short getShort(String columnName) throws SQLException
getShort
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public int getInt(String columnName) throws SQLException
getInt
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public long getLong(String columnName) throws SQLException
getLong
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public float getFloat(String columnName) throws SQLException
getFloat
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public double getDouble(String columnName) throws SQLException
getDouble
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
getBigDecimal(columnName)
without scale in JDBC 2
getBigDecimal
in interface ResultSet
columnName
- is the SQL name of the columnscale
- the number of digits to the right of the decimalSQLException
- if a database access error occurs.public byte[] getBytes(String columnName) throws SQLException
getBytes
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public Date getDate(String columnName) throws SQLException
InterClient note: In order to improve performance when scrolling through a result set, this method can be used in conjunction with interbase.interclient.Adaptor.SINGLE_INSTANCE_TIME so that only a single Date instance is created for any given result set; the single Date instance is reused row by row. This saves the overhead in calling the Date constructor for each row.
getDate
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public Time getTime(String columnName) throws SQLException
InterClient note: In order to improve performance when scrolling through a result set, this method can be used in conjunction with interbase.interclient.Adaptor.SINGLE_INSTANCE_TIME so that only a single Time instance is created for any given result set; the single Time instance is reused row by row. This saves the overhead in calling the Time constructor for each row.
getTime
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public Timestamp getTimestamp(String columnName) throws SQLException
InterClient note: In order to improve performance when scrolling through a result set, this method can be used in conjunction with interbase.interclient.Adaptor.SINGLE_INSTANCE_TIME so that only a single Timestamp instance is created for any given result set; the single Timestamp instance is reused row by row. This saves the overhead in calling the Timestamp constructor for each row.
getTimestamp
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public InputStream getAsciiStream(String columnName) throws SQLException
Note: 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.
getAsciiStream
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public InputStream getUnicodeStream(String columnName) throws SQLException
getCharacterStream(columnName)
in JDBC 2.
Note: 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.
getUnicodeStream
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.getCharacterStream(int)
public InputStream getBinaryStream(String columnName) throws SQLException
Note: 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.
getBinaryStream
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public SQLWarning getWarnings() throws SQLException
The warning chain is automatically cleared each time a new row is read.
Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by statement methods (such as reading OUT parameters) will be chained on the Statement object.
getWarnings
in interface ResultSet
SQLException
- if a database access error occurs.public void clearWarnings() throws SQLException
clearWarnings
in interface ResultSet
SQLException
- if a database access error occurs.public String getCursorName() throws SQLException
In SQL, a result table is retrieved through a cursor that is named. The current row of a result can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the 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.
JDBC supports this SQL feature by providing the name of the SQL cursor used by a ResultSet. The current row of a ResultSet is also the current row of this SQL cursor.
Note: If positioned update is not supported a SQLException is thrown
getCursorName
in interface ResultSet
SQLException
- if a database access error occurs.public ResultSetMetaData getMetaData() throws SQLException
getMetaData
in interface ResultSet
SQLException
- if a database access error occurs.public Object getObject(int column) throws SQLException
This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC spec.
This method may also be used to read datatabase specific abstract data types.
JDBC 2.0 note:
New behavior for getObject().
The behavior of method getObject() is extended to materialize
data of SQL user-defined types. When the column columnIndex
is
a structured or distinct value, the behavior of this method is as
if it were a call to:
getObject(columnIndex, this.getStatement().getConnection().getTypeMap())
getObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public Object getObject(String columnName) throws SQLException
Get the value of a column in the current row as a Java object.
This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC spec.
This method may also be used to read datatabase specific abstract data types.
JDBC 2.0 note:
New behavior for getObject().
The behavior of method getObject() is extended to materialize
data of SQL user-defined types. When the column columnName
is
a structured or distinct value, the behavior of this method is as
if it were a call to:
getObject(columnName, this.getStatement().getConnection().getTypeMap())
getObject
in interface ResultSet
columnName
- is the SQL name of the columnSQLException
- if a database access error occurs.public int findColumn(String columnName) throws SQLException
findColumn
in interface ResultSet
columnName
- the name of the columnSQLException
- if a database access error occurs.public Reader getCharacterStream(int columnIndex) throws SQLException
getCharacterStream
in interface ResultSet
SQLException
- if a database access error occurs.public Reader getCharacterStream(String columnName) throws SQLException
getCharacterStream
in interface ResultSet
SQLException
- if a database access error occurs.public BigDecimal getBigDecimal(int column) throws SQLException
getBigDecimal
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurs.public BigDecimal getBigDecimal(String columnName) throws SQLException
getBigDecimal
in interface ResultSet
SQLException
- if a database access error occurs.public boolean isBeforeFirst() throws SQLException
isBeforeFirst
in interface ResultSet
SQLException
- if a database access error occurs.public boolean isAfterLast() throws SQLException
isAfterLast
in interface ResultSet
SQLException
- if a database access error occurs.public boolean isFirst() throws SQLException
isFirst
in interface ResultSet
SQLException
- if a database access error occurs.public boolean isLast() throws SQLException
isLast
in interface ResultSet
SQLException
- if a database access error occurs.public void beforeFirst() throws SQLException
beforeFirst
in interface ResultSet
SQLException
- if a database-access error occurs, or
result set type is TYPE_FORWARD_ONLYpublic void afterLast() throws SQLException
afterLast
in interface ResultSet
SQLException
- if a database-access error occurs, or
result set type is TYPE_FORWARD_ONLY.public boolean first() throws SQLException
first
in interface ResultSet
SQLException
- if a database-access error occurs, or
result set type is TYPE_FORWARD_ONLY.public boolean last() throws SQLException
last
in interface ResultSet
SQLException
- if a database access error occurs, or
result set type is TYPE_FORWARD_ONLY.public int getRow() throws SQLException
getRow
in interface ResultSet
SQLException
- if a database access error occurs.public boolean absolute(int row) throws SQLException
If row is positive, moves to an absolute row with respect to the beginning of the result set. The first row is row 1, the second is row 2, etc.
If row is negative, moves to an absolute row position with respect to the end of result set. For example, calling absolute(-1) positions the cursor on the last row, absolute(-2) indicates the next-to-last row, etc.
An attempt to position the cursor beyond the first/last row in the result set, leaves the cursor before/after the first/last row, respectively.
Note: Calling absolute(1) is the same as calling first(). Calling absolute(-1) is the same as calling last().
absolute
in interface ResultSet
SQLException
- if a database access error occurs, or
row is 0, or result set type is TYPE_FORWARD_ONLY.public boolean relative(int rows) throws SQLException
Note: Calling relative(1) is different than calling next() since is makes sense to call next() when there is no current row, for example, when the cursor is positioned before the first row or after the last row of the result set.
relative
in interface ResultSet
SQLException
- if a database access error occurs, or there
is no current row, or result set type is TYPE_FORWARD_ONLY.public boolean previous() throws SQLException
Note: previous() is not the same as relative(-1) since it makes sense to call previous() when there is no current row.
previous
in interface ResultSet
SQLException
- if a database access error occurs, or
result set type is TYPE_FORWAR_DONLY.public void setFetchDirection(int direction) throws SQLException
setFetchDirection
in interface ResultSet
SQLException
- if a database access error occurs, or
the result set type is TYPE_FORWARD_ONLY and direction is not
FETCH_FORWARD.public int getFetchDirection() throws SQLException
getFetchDirection
in interface ResultSet
SQLException
- if a database access error occurspublic void setFetchSize(int rows) throws SQLException
setFetchSize
in interface ResultSet
rows
- the number of rows to fetchSQLException
- if a database access error occurs, or the
condition 0 <= rows <= this.getMaxRows() is not satisfied.public int getFetchSize() throws SQLException
getFetchSize
in interface ResultSet
SQLException
- if a database access error occurspublic int getType() throws SQLException
getType
in interface ResultSet
SQLException
- if a database access error occurspublic int getConcurrency() throws SQLException
getConcurrency
in interface ResultSet
SQLException
- if a database access error occurspublic boolean rowUpdated() throws SQLException
rowUpdated
in interface ResultSet
SQLException
- if a database access error occursDatabaseMetaData.updatesAreDetected(int)
public boolean rowInserted() throws SQLException
rowInserted
in interface ResultSet
SQLException
- if a database access error occursDatabaseMetaData.insertsAreDetected(int)
public boolean rowDeleted() throws SQLException
rowDeleted
in interface ResultSet
SQLException
- if a database access error occursDatabaseMetaData.deletesAreDetected(int)
public void updateNull(int columnIndex) throws SQLException
updateNull
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurspublic void updateBoolean(int columnIndex, boolean x) throws SQLException
updateBoolean
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateByte(int columnIndex, byte x) throws SQLException
updateByte
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateShort(int columnIndex, short x) throws SQLException
updateShort
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateInt(int columnIndex, int x) throws SQLException
updateInt
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateLong(int columnIndex, long x) throws SQLException
updateLong
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateFloat(int columnIndex, float x) throws SQLException
updateFloat
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateDouble(int columnIndex, double x) throws SQLException
updateDouble
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
updateBigDecimal
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateString(int columnIndex, String x) throws SQLException
updateString
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateBytes(int columnIndex, byte[] x) throws SQLException
updateBytes
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateDate(int columnIndex, Date x) throws SQLException
updateDate
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateTime(int columnIndex, Time x) throws SQLException
updateTime
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateTimestamp(int columnIndex, Timestamp x) throws SQLException
updateTimestamp
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
updateAsciiStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streamSQLException
- if a database access error occurspublic void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException
updateBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streamSQLException
- if a database access error occurspublic void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException
updateCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streamSQLException
- if a database access error occurspublic void updateObject(int columnIndex, Object x, int scale) throws SQLException
updateObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuescale
- For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored.SQLException
- if a database access error occurspublic void updateObject(int columnIndex, Object x) throws SQLException
updateObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valueSQLException
- if a database access error occurspublic void updateNull(String columnName) throws SQLException
updateNull
in interface ResultSet
columnName
- the name of the columnSQLException
- if a database access error occurspublic void updateBoolean(String columnName, boolean x) throws SQLException
updateBoolean
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateByte(String columnName, byte x) throws SQLException
updateByte
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateShort(String columnName, short x) throws SQLException
updateShort
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateInt(String columnName, int x) throws SQLException
updateInt
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateLong(String columnName, long x) throws SQLException
updateLong
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateFloat(String columnName, float x) throws SQLException
updateFloat
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateDouble(String columnName, double x) throws SQLException
updateDouble
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
updateBigDecimal
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateString(String columnName, String x) throws SQLException
updateString
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateBytes(String columnName, byte[] x) throws SQLException
updateBytes
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateDate(String columnName, Date x) throws SQLException
updateDate
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateTime(String columnName, Time x) throws SQLException
updateTime
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateTimestamp(String columnName, Timestamp x) throws SQLException
updateTimestamp
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
updateAsciiStream
in interface ResultSet
columnName
- the name of the columnx
- the new column valuelength
- of the streamSQLException
- if a database access error occurspublic void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
updateBinaryStream
in interface ResultSet
columnName
- the name of the columnx
- the new column valuelength
- of the streamSQLException
- if a database access error occurspublic void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
updateCharacterStream
in interface ResultSet
columnName
- the name of the columnx
- the new column valuelength
- of the streamSQLException
- if a database access error occurspublic void updateObject(String columnName, Object x, int scale) throws SQLException
updateObject
in interface ResultSet
columnName
- the name of the columnx
- the new column valuescale
- For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored.SQLException
- if a database access error occurspublic void updateObject(String columnName, Object x) throws SQLException
updateObject
in interface ResultSet
columnName
- the name of the columnx
- the new column valueSQLException
- if a database access error occurspublic void insertRow() throws SQLException
insertRow
in interface ResultSet
SQLException
- if a database access error occurs,
if called when not on the insert row, or if all non-nullable columns in
the insert row have not been given a valuepublic void updateRow() throws SQLException
updateRow
in interface ResultSet
SQLException
- if a database access error occurs, or
if called when on the insert rowpublic void deleteRow() throws SQLException
deleteRow
in interface ResultSet
SQLException
- if a database access error occurs, or if
called when on the insert row.public void refreshRow() throws SQLException
refreshRow
in interface ResultSet
SQLException
- if a database access error occurs, or if
called when on the insert row.public void cancelRowUpdates() throws SQLException
cancelRowUpdates
in interface ResultSet
SQLException
- if a database access error occurs, or if
called when on the insert row.public void moveToInsertRow() throws SQLException
moveToInsertRow
in interface ResultSet
SQLException
- if a database access error occurs,
or the result set is not updatablepublic void moveToCurrentRow() throws SQLException
moveToCurrentRow
in interface ResultSet
SQLException
- if a database access error occurs,
or the result set is not updatablepublic Statement getStatement() throws SQLException
getStatement
in interface ResultSet
SQLException
- if a database access error occurspublic Object getObject(int column, Map map) throws SQLException
column
as a Java object. Use the
map
to determine the class from which to construct data of
SQL structured and distinct types.getObject
in interface ResultSet
column
- the first column is 1, the second is 2, ...map
- the mapping from SQL type names to Java classesSQLException
- if a database access error occurspublic Ref getRef(int column) throws SQLException
getRef
in interface ResultSet
column
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurspublic Blob getBlob(int column) throws SQLException
getBlob
in interface ResultSet
column
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurspublic Clob getClob(int column) throws SQLException
getClob
in interface ResultSet
column
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurspublic Array getArray(int column) throws SQLException
getArray
in interface ResultSet
column
- the first column is 1, the second is 2, ...SQLException
- if a database access error occurspublic Object getObject(String columnName, Map map) throws SQLException
map
to determine the class from which to construct data of
SQL structured and distinct types.getObject
in interface ResultSet
columnName
- the column namemap
- the mapping from SQL type names to Java classesSQLException
- if a database access error occurspublic Ref getRef(String columnName) throws SQLException
getRef
in interface ResultSet
columnName
- the column nameSQLException
- if a database access error occurspublic Blob getBlob(String columnName) throws SQLException
getBlob
in interface ResultSet
columnName
- the column nameSQLException
- if a database access error occurspublic Clob getClob(String columnName) throws SQLException
getClob
in interface ResultSet
columnName
- the column nameSQLException
- if a database access error occurspublic Array getArray(String columnName) throws SQLException
getArray
in interface ResultSet
columnName
- the column nameSQLException
- if a database access error occurspublic Date getDate(int column, Calendar cal) throws SQLException
getDate
in interface ResultSet
column
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the dateSQLException
- if a database access error occurspublic Date getDate(String columnName, Calendar cal) throws SQLException
getDate
in interface ResultSet
columnName
- is the SQL name of the columncal
- the calendar to use in constructing the dateSQLException
- if a database access error occurspublic Time getTime(int column, Calendar cal) throws SQLException
getTime
in interface ResultSet
column
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the timeSQLException
- if a database access error occurspublic Time getTime(String columnName, Calendar cal) throws SQLException
getTime
in interface ResultSet
columnName
- is the SQL name of the columncal
- the calendar to use in constructing the timeSQLException
- if a database access error occurspublic Timestamp getTimestamp(int column, Calendar cal) throws SQLException
getTimestamp
in interface ResultSet
column
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the timestampSQLException
- if a database access error occurspublic Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
getTimestamp
in interface ResultSet
columnName
- is the SQL name of the columncal
- the calendar to use in constructing the timestampSQLException
- if a database access error occurspublic boolean isNull(int column) throws SQLException
Unlike other drivers, InterClient does not require that a column be read before it is checked for NULL.
SQLException
- if a database access error occurs.wasNull()
public boolean adapt(int modifier, Object extraInfo) throws SQLException
modifier
in the Adaptor
interface.adapt
in interface Adaptor
modifier
- is either
Adaptor.RIGHT_TRIM_STRINGS
or
Adaptor.SINGLE_INSTANCE_TIME
extraInfo
- any extra information that needs to be specified along with the modifier;
currently unused.SQLException
- if a database access error occurs.public void revert(int modifier) throws SQLException
modifier
.revert
in interface Adaptor
modifier
- is either
Adaptor.RIGHT_TRIM_STRINGS
or
Adaptor.SINGLE_INSTANCE_TIME
SQLException
- if a database access error occurs.
|
2.50.5 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |