FileDocCategorySizeDatePackage
RowSet.javaAPI DocAndroid 1.5 API38335Wed May 06 22:41:06 BST 2009javax.sql

RowSet

public interface RowSet implements ResultSet
An interface which provides means to access data which persists on a database. It extends the functionality of {@link java.sql.ResultSet ResultSet} into a form that it can be used as a JavaBean component, suited for a visual programming environment.

{@code RowSet} provides getters and setters for properties relating to the general database environment together with the getters and setters for distinct data values which constitute the row set. The {@code RowSet} class supports JavaBean events so that other components in an application can be informed when changes happen such as changes in data values.

{@code RowSet} is a facility implemented on top of the remainder of the JDBC API. It may be connected, maintaining a connection to the database throughout its lifecycle. The changes made on a disconnected {@code RowSet} on the other hand can be persisted only establishing a new connection with the database each time.

Disconnected {@code RowSets} make use of {@code RowSetReaders} to populate the {@code RowSet} with data, possibly from a non-relational database source. They may also use {@code RowSetWriters} to send data back to the underlying data store. There is considerable freedom in the way that {@code RowSetReaders} and {@code RowSetWriters} may be implemented to retrieve and store data.

see
RowSetReader
see
RowSetWriter
since
Android 1.0

Fields Summary
Constructors Summary
Methods Summary
public voidaddRowSetListener(javax.sql.RowSetListener theListener)
Registers the supplied {@link RowSetListener} with this {@code RowSet}. Once registered, the {@link RowSetListener} is notified of events generated by the {@code RowSet}.

param
theListener an object which implements the {@code rowSetListener} interface.
since
Android 1.0

public voidclearParameters()
Clears the parameters previously set for this {@code RowSet}.

The {@code RowSet} object retains its value until either a new value for a parameter is set or its value is actively reset. {@code clearParameters} provides a facility to clear the values for all parameters with one method call.

throws
SQLException if a problem occurs accessing the database.
since
Android 1.0

public voidexecute()
Fetches data for this {@code RowSet} from the database. If successful, any existing data for the {@code RowSet} is discarded and its metadata is overwritten.

Data is retrieved connecting to the database and executing an according SQL statement. This requires some or all of the following properties to be set: URL, database name, user name, password, transaction isolation, type map; plus some or all of the properties: command, read only, maximum field size, maximum rows, escape processing, and query timeout.

The {@code RowSet} may use a {@code RowSetReader} to access the database it will then invoke the {@link RowSetReader#readData} method on the reader to fetch the data. When the new data is fetched all the listeners are notified to take appropriate measures.

throws
SQLException if a problem occurs accessing the database or if the properties needed to access the database have not been set.
see
RowSetMetaData
see
RowSetReader
since
Android 1.0

public java.lang.StringgetCommand()
Gets the {@code RowSet}'s command property.

return
a string containing the {@code RowSet}'s command property. A command is a SQL statement which is executed to fetch required data into the {@code RowSet}.
since
Android 1.0

public java.lang.StringgetDataSourceName()
Gets the ODBC Data Source Name property associated with this {@code RowSet}. The database name can be used to find a {@link DataSource} which has been registered with a naming service - the {@link DataSource} can then be used to create a connection to the database.

return
the name of the database.
since
Android 1.0

public booleangetEscapeProcessing()
Reports if escape processing is enabled for this {@code RowSet}. If escape processing is on, the driver performs a substitution of the escape syntax with the applicable code before sending an SQL command to the database. The default value for escape processing is {@code true}.

return
{@code true} if escape processing is enabled, {@code false} otherwise.
throws
SQLException if a problem occurs accessing the database.
since
Android 1.0

public intgetMaxFieldSize()
Gets the maximum number of bytes that can be returned for column values which are of type {@code BINARY}, {@code VARBINARY}, {@code LONGVARBINARYBINARY}, {@code CHAR}, {@code VARCHAR}, or {@code LONGVARCHAR}. Excess data is silently discarded if the number is exceeded.

return
the current maximum size in bytes. 0 implies no size limit.
throws
SQLException if a problem occurs accessing the database.
since
Android 1.0

public intgetMaxRows()
Gets the maximum number of rows for this {@code RowSet}. Excess rows are discarded silently if the limit is exceeded.

return
the previous maximum number of rows. 0 implies no row limit.
throws
SQLException if a problem occurs accessing the database.
since
Android 1.0

public java.lang.StringgetPassword()
Gets the value of the password property for this {@code RowSet}. This property is used when a connection to the database is established. Therefore it should be set prior to invoking the {@link #execute} method.

return
the value of the password property.
since
Android 1.0

public intgetQueryTimeout()
Gets the timeout for the driver when a query operation is executed. If a query takes longer than the timeout then a {@code SQLException} is thrown.

return
the timeout value in seconds.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public intgetTransactionIsolation()
Gets the transaction isolation level property set for this {@code RowSet}. The transaction isolation level defines the policy implemented on the database for maintaining the data values consistent.

return
the current transaction isolation level. Must be one of:
  • {@code Connection.TRANSACTION_READ_UNCOMMITTED}
  • {@code Connection.TRANSACTION_READ_COMMITTED}
  • {@code Connection.TRANSACTION_REPEATABLE_READ}
  • {@code Connection.TRANSACTION_SERIALIZABLE}
see
java.sql.Connection
since
Android 1.0

public java.util.MapgetTypeMap()
Gets the custom mapping of SQL User-Defined Types (UDTs) and Java classes for this {@code RowSet}, if applicable.

return
the custom mappings of SQL types to Java classes.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public java.lang.StringgetUrl()
Gets the URL property value for this {@code RowSet}. If there is no {@code DataSource} object specified, the {@code RowSet} uses the URL to establish a connection to the database. The default value for the URL is {@code null}.

return
a String holding the value of the URL property.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public java.lang.StringgetUsername()
Gets the value of the {@code username} property for this {@code RowSet}. The {@code username} is used when establishing a connection to the database and should be set before the {@code execute} method is invoked.

return
a {@code String} holding the value of the {@code username} property.
since
Android 1.0

public booleanisReadOnly()
Indicates if this {@code RowSet} is read-only.

return
{@code true} if this {@code RowSet} is read-only, {@code false} if it is updatable.
since
Android 1.0

public voidremoveRowSetListener(javax.sql.RowSetListener theListener)
Removes a specified {@link RowSetListener} object from the set of listeners which will be notified of events by this {@code RowSet}.

param
theListener the {@link RowSetListener} to remove from the set of listeners for this {@code RowSet}.
since
Android 1.0

public voidsetArray(int parameterIndex, java.sql.Array theArray)
Sets the specified {@code ARRAY} parameter in the {@code RowSet} command with the supplied {@code java.sql.Array} value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theArray the {@code Array} data value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetAsciiStream(int parameterIndex, java.io.InputStream theInputStream, int length)
Sets the value of the specified parameter in the {@code RowSet} command with the ASCII data in the supplied {@code java.io.InputStream} value. Data is read from the {@code InputStream} until end-of-file is reached.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theInputStream the ASCII data value to which the parameter is set.
param
length the length of the data in bytes.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetBigDecimal(int parameterIndex, java.math.BigDecimal theBigDecimal)
Sets the value of the specified SQL {@code NUMERIC} parameter in the {@code RowSet} command with the data in the supplied {@code java.math.BigDecimal} value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theBigDecimal the big decimal value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetBinaryStream(int parameterIndex, java.io.InputStream theInputStream, int length)
Sets the value of the specified parameter in the {@code RowSet} command to the binary data in the supplied input stream. Data is read from the input stream until end-of-file is reached.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theInputStream the binary data stream to which the parameter is set.
param
length the length of the data in bytes.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetBlob(int parameterIndex, java.sql.Blob theBlob)
Sets the value of the specified parameter in the {@code RowSet} command to the supplied {@code Blob} value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theBlob the {@code Blob} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetBoolean(int parameterIndex, boolean theBoolean)
Sets the value of the specified parameter in the {@code RowSet} command to the supplied boolean.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theBoolean the {@code boolean} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetByte(int parameterIndex, byte theByte)
Sets the value of the specified parameter in the {@code RowSet} command to the supplied byte value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theByte the {@code byte} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetBytes(int parameterIndex, byte[] theByteArray)
Sets the value of the specified parameter in the {@code RowSet} command to the supplied byte array value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theByteArray the {@code Array} of {@code bytes} to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetCharacterStream(int parameterIndex, java.io.Reader theReader, int length)
Sets the value of the specified parameter in the {@code RowSet} command to the sequence of Unicode characters carried by the supplied {@code java.io.Reader}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theReader the {@code Reader} which contains the Unicode data to set the parameter.
param
length the length of the data in the {@code Reader} in characters.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetClob(int parameterIndex, java.sql.Clob theClob)
Sets the value of the specified parameter in the {@code RowSet} command with the value of a supplied {@code java.sql.Clob}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theClob the {@code Clob} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetCommand(java.lang.String cmd)
Sets the Command property for this {@code RowSet} - the command is an SQL query which runs when the {@code execute} method is invoked. This property is optional for databases that do not support commands.

param
cmd the SQL query. Can be {@code null}.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetConcurrency(int concurrency)
Sets the concurrency property of this {@code RowSet}. The default value is {@code ResultSet.CONCUR_READ_ONLY}.

param
concurrency the concurrency value. One of:
  • {@code ResultSet.CONCUR_READ_ONLY}
  • {@code ResultSet.CONCUR_UPDATABLE}
throws
SQLException if an error occurs accessing the database.
see
java.sql.ResultSet
since
Android 1.0

public voidsetDataSourceName(java.lang.String name)
Sets the database name property for the {@code RowSet}.

The database name can be used to find a {@link DataSource} which has been registered with a naming service - the {@link DataSource} can then be used to create a connection to the database.

param
name the database name.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetDate(int parameterIndex, java.sql.Date theDate)
Sets the value of the specified parameter in the {@code RowSet} command with the value of a supplied {@code java.sql.Date}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theDate the date value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetDate(int parameterIndex, java.sql.Date theDate, java.util.Calendar theCalendar)
Sets the value of the specified parameter in the {@code RowSet} command with the value of a supplied {@code java.sql.Date}, where the conversion of the date to an SQL {@code DATE} value is calculated using a supplied {@code Calendar}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theDate the date to which the parameter is set.
param
theCalendar the {@code Calendar} to use in converting the Date to an SQL {@code DATE} value.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetDouble(int parameterIndex, double theDouble)
Sets the value of the specified parameter in the {@code RowSet} command with the supplied {@code double}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theDouble the {@code double} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetEscapeProcessing(boolean enable)
Sets the escape processing status for this {@code RowSet}. If escape processing is on, the driver performs a substitution of the escape syntax with the applicable code before sending an SQL command to the database. The default value for escape processing is {@code true}.

param
enable {@code true} to enable escape processing, {@code false} to turn it off.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetFloat(int parameterIndex, float theFloat)
Sets the value of the specified parameter in the {@code RowSet} command with the supplied {@code float}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theFloat the {@code float} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetInt(int parameterIndex, int theInteger)
Sets the value of the specified parameter in the {@code RowSet} command with the supplied {@code integer}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theInteger the {@code integer} value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetLong(int parameterIndex, long theLong)
Sets the value of the specified parameter in the {@code RowSet} command with the supplied {@code long}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theLong the {@code long} value value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetMaxFieldSize(int max)
Sets the maximum number of bytes which can be returned for a column value where the column type is one of {@code BINARY}, {@code VARBINARY}, {@code LONGVARBINARYBINARY}, {@code CHAR}, {@code VARCHAR}, or {@code LONGVARCHAR}. Data which exceeds this limit is silently discarded. For portability, a value greater than 256 is recommended.

param
max the maximum size of the returned column value in bytes. 0 implies no size limit.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetMaxRows(int max)
Sets the maximum number of rows which can be held by the {@code RowSet}. Any additional rows are silently discarded.

param
max the maximum number of rows which can be held in the {@code RowSet}. 0 means no limit.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetNull(int parameterIndex, int sqlType)
Sets the value of the specified parameter in the {@code RowSet} command to SQL {@code NULL}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
sqlType the type of the parameter, as defined by {@code java.sql.Types}.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetNull(int parameterIndex, int sqlType, java.lang.String typeName)
Sets the value of the specified parameter in the {@code RowSet} command to SQL {@code NULL}. This form of the {@code setNull} method should be used for User Defined Types and {@code REF} parameters.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
sqlType the type of the parameter, as defined by {@code java.sql.Types}.
param
typeName the fully qualified name of an SQL user defined type or the name of the SQL structured type referenced by a {@code REF} type. Ignored if the sqlType is not a UDT or REF type.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetObject(int parameterIndex, java.lang.Object theObject)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied Java object.

The JDBC specification provides a standard mapping for Java objects to SQL data types. Database specific types can be mapped by JDBC driver specific Java types.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theObject the Java object containing the data value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetObject(int parameterIndex, java.lang.Object theObject, int targetSqlType)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied Java object.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theObject the Java object containing the data value.
param
targetSqlType the SQL type to send to the database, as defined in {@code java.sql.Types}.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetObject(int parameterIndex, java.lang.Object theObject, int targetSqlType, int scale)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied Java object.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theObject the Java object containing the data value.
param
targetSqlType the SQL type to send to the database, as defined in {@code java.sql.Types}.
param
scale the number of digits after the decimal point, for {@code java.sql.Types.DECIMAL} and {@code java.sql.Types.NUMERIC} types. Ignored for all other types.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetPassword(java.lang.String password)
Sets the database Password for this {@code RowSet}. This property is used when a connection to the database is established. Therefore it should be set prior to invoking the {@link #execute} method.

param
password a {@code String} holding the password.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetQueryTimeout(int seconds)
Gets the timeout for the driver when a query operation is executed. If a query takes longer than the timeout, a {@code SQLException} is thrown.

param
seconds the number of seconds for the timeout.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetReadOnly(boolean readOnly)
Sets whether the {@code RowSet} is read-only or updatable.

param
readOnly {@code true} to set the {@code RowSet} to read-only state, {@code false} to allow updates.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetRef(int parameterIndex, java.sql.Ref theRef)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code java.sql.Ref}. This is sent to the database as an SQL {@code REF} value.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theRef the value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
see
java.sql.Ref
since
Android 1.0

public voidsetShort(int parameterIndex, short theShort)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code short integer}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theShort the value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetString(int parameterIndex, java.lang.String theString)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code String}. The string is placed into the database as a {@code VARCHAR} or {@code LONGVARCHAR} SQL value, depending on the database limits for the length of {@code VARCHAR} values.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theString the value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetTime(int parameterIndex, java.sql.Time theTime)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code java.sql.Time}, converting it to an SQL {@code TIME} value using the system default {@code Calendar}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theTime the value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
see
java.util.Calendar
see
java.sql.Time
since
Android 1.0

public voidsetTime(int parameterIndex, java.sql.Time theTime, java.util.Calendar theCalendar)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code java.sql.Time}, converting it to an SQL {@code TIME} value using a supplied {@code Calendar}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theTime the value to which the parameter is set.
param
theCalendar the {@code Calendar} to use in the conversion operation.
throws
SQLException if an error occurs accessing the database.
see
java.util.Calendar
see
java.sql.Time
since
Android 1.0

public voidsetTimestamp(int parameterIndex, java.sql.Timestamp theTimestamp)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code java.sql.Timestamp}, converting it to an SQL {@code TIMESTAMP} value using the system default {@code Calendar}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theTimestamp the value to which the parameter is set.
throws
SQLException if an error occurs accessing the database.
see
java.util.Calendar
see
java.sql.Timestamp
since
Android 1.0

public voidsetTimestamp(int parameterIndex, java.sql.Timestamp theTimestamp, java.util.Calendar theCalendar)
Sets the value of the specified parameter in the {@code RowSet} command to a supplied {@code java.sql.Timestamp}, converting it to an SQL {@code TIMESTAMP} value using a supplied {@code Calendar}.

param
parameterIndex the index of the parameter to set; the first parameter's index is 1.
param
theTimestamp the value to which the parameter is set.
param
theCalendar the {@code Calendar} to use in the conversion operation
throws
SQLException if an error occurs accessing the database.
see
java.util.Calendar
see
java.sql.Timestamp
since
Android 1.0

public voidsetTransactionIsolation(int level)
Sets the target instance's transaction isolation level to one of a discrete set of possible values. The transaction isolation level defines the policy implemented on the database for maintaining the data values consistent.

Keep in mind that setting a transaction isolation level has no effect unless your driver and DBMS support it.

param
level the transaction isolation level. One of:
  • {@code Connection.TRANSACTION_READ_UNCOMMITTED}
  • {@code Connection.TRANSACTION_READ_COMMITTED}
  • {@code Connection.TRANSACTION_REPEATABLE_READ}
  • {@code Connection.TRANSACTION_SERIALIZABLE}
throws
SQLException if an error occurs accessing the database.
see
java.sql.Connection
since
Android 1.0

public voidsetType(int type)
Sets the type of this {@code RowSet}. By default, the type is non-scrollable.

param
type the type for the {@code RowSet}. One of:
  • {@code ResultSet.TYPE_FORWARD_ONLY}
  • {@code ResultSet.TYPE_SCROLL_INSENSITIVE}
  • {@code ResultSet.TYPE_SCROLL_SENSITIVE}
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetTypeMap(java.util.Map theTypeMap)
Sets the mapping of SQL User Defined Types (UDTs) to Java classes. The Java classes must all implement the {@link java.sql.SQLData SQLData} interface.

param
theTypeMap the names of SQL UDTs and the Java classes to which they are mapped.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetUrl(java.lang.String theURL)
Sets the URL used by this {@code RowSet} to access the database via a {@code DriverManager}. The URL is optional - an alternative is to use a database name to create a connection.

param
theURL the URL for the database. Can be {@code null}.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0

public voidsetUsername(java.lang.String theUsername)
Sets the {@code Username} property for the {@code RowSet}, used to authenticate a connection to the database.

param
theUsername the new user name for this row set.
throws
SQLException if an error occurs accessing the database.
since
Android 1.0