/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package javax.sql;
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Date;
import java.sql.NClob;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLXML;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Map;
/**
* 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.
* <p>
* {@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.
* <p>
* {@code RowSet} is a facility implemented on top of the remainder of the JDBC
* API. It may be <i>connected</i>, maintaining a connection to the database
* throughout its lifecycle. The changes made on a <i>disconnected</i> {@code
* RowSet} on the other hand can be persisted only establishing a new connection
* with the database each time.
* <p>
* 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
*/
public interface RowSet extends ResultSet {
/**
* 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.
*/
public void addRowSetListener(RowSetListener theListener);
/**
* Clears the parameters previously set for this {@code RowSet}.
* <p>
* 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.
*/
public void clearParameters() throws SQLException;
/**
* 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.
* <p>
* 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.
* <p>
* 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
*/
public void execute() throws SQLException;
/**
* 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}.
*/
public String getCommand();
/**
* 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.
*/
public String getDataSourceName();
/**
* 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.
*/
public boolean getEscapeProcessing() throws SQLException;
/**
* 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.
*/
public int getMaxFieldSize() throws SQLException;
/**
* 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.
*/
public int getMaxRows() throws SQLException;
/**
* 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.
*/
public String getPassword();
/**
* 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.
*/
public int getQueryTimeout() throws SQLException;
/**
* 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:
* <ul>
* <li>{@code Connection.TRANSACTION_READ_UNCOMMITTED}</li>
* <li>{@code Connection.TRANSACTION_READ_COMMITTED}</li>
* <li>{@code Connection.TRANSACTION_REPEATABLE_READ}</li>
* <li>{@code Connection.TRANSACTION_SERIALIZABLE}</li>
* </ul>
* @see java.sql.Connection
*/
public int getTransactionIsolation();
/**
* 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.
*/
public Map<String, Class<?>> getTypeMap() throws SQLException;
/**
* 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.
*/
public String getUrl() throws SQLException;
/**
* 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.
*/
public String getUsername();
/**
* Indicates if this {@code RowSet} is read-only.
*
* @return {@code true} if this {@code RowSet} is read-only, {@code false}
* if it is updatable.
*/
public boolean isReadOnly();
/**
* 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}.
*/
public void removeRowSetListener(RowSetListener theListener);
/**
* 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.
*/
public void setArray(int parameterIndex, Array theArray)
throws SQLException;
/**
* 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.
*/
public void setAsciiStream(int parameterIndex, InputStream theInputStream,
int length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* ASCII data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theInputStream
* an InputStream containing the ASCII data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setAsciiStream(int parameterIndex, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* ASCII data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the ASCII data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setAsciiStream(String parameterName, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* ASCII data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the ASCII data to set into the
* parameter value
* @param length
* the length of the data in bytes
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setAsciiStream(String parameterName,
InputStream theInputStream, int length) throws SQLException;
/**
* 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.
*/
public void setBigDecimal(int parameterIndex, BigDecimal theBigDecimal)
throws SQLException;
/**
* Sets the value of the specified SQL NUMERIC parameter in the RowSet
* command with the data in the supplied java.math.BigDecimal value.
*
* @param parameterName
* the name for parameter
* @param theBigDecimal
* the BigDecimal containing the value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBigDecimal(String parameterName, BigDecimal theBigDecimal)
throws SQLException;
/**
* 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.
*/
public void setBinaryStream(int parameterIndex, InputStream theInputStream,
int length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* binary data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBinaryStream(int parameterIndex, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* binary data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBinaryStream(String parameterName, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* binary data in the supplied java.io.InputStream value. Data is read from
* the InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @param length
* the length of the data in bytes
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBinaryStream(String parameterName,
InputStream theInputStream, int length) throws SQLException;
/**
* 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.
*/
public void setBlob(int parameterIndex, Blob theBlob) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.InputStream. Data is read from the
* InputStream until end-of-file is reached.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBlob(int parameterIndex, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.InputStream. Data is read from the
* InputStream until end-of-file is reached.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @param length
* the length of the data in bytes
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBlob(int parameterIndex, InputStream theInputStream,
long length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.InputStream. Data is read from the
* InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBlob(String parameterName, InputStream theInputStream)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.InputStream. Data is read from the
* InputStream until end-of-file is reached.
*
* @param parameterName
* the name for parameter
* @param theInputStream
* an InputStream containing the binary data to set into the
* parameter value
* @param length
* the length of the data in bytes
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBlob(String parameterName, InputStream theInputStream,
long length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.Blob.
*
* @param parameterName
* the name for parameter
* @param theBlob
* the Blob value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBlob(String parameterName, Blob theBlob) throws SQLException;
/**
* 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.
*/
public void setBoolean(int parameterIndex, boolean theBoolean)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied boolean.
*
* @param parameterName
* name for parameter
* @param theBoolean
* the boolean value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBoolean(String parameterName, boolean theBoolean)
throws SQLException;
/**
* 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.
*/
public void setByte(int parameterIndex, byte theByte) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied byte value.
*
* @param parameterName
* name for parameter
* @param theByte
* the byte value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setByte(String parameterName, byte theByte) throws SQLException;
/**
* 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.
*/
public void setBytes(int parameterIndex, byte[] theByteArray)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied byte array value.
*
* @param parameterName
* name for parameter
* @param theByteArray
* the array of bytes to set into the parameter.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setBytes(String parameterName, byte[] theByteArray)
throws SQLException;
/**
* 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.
*/
public void setCharacterStream(int parameterIndex, Reader theReader,
int length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* sequence of Unicode characters carried by the supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setCharacterStream(int parameterIndex, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* sequence of Unicode characters carried by the supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setCharacterStream(String parameterName, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* sequence of Unicode characters carried by the supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setCharacterStream(String parameterName, Reader theReader,
int length) throws SQLException;
/**
* 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.
*/
public void setClob(int parameterIndex, Clob theClob) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setClob(int parameterIndex, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setClob(int parameterIndex, Reader theReader, long length)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.Clob.
*
* @param parameterName
* name for parameter
* @param theClob
* the specific Clob object
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setClob(String parameterName, Clob theClob) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setClob(String parameterName, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setClob(String parameterName, Reader theReader, long length)
throws SQLException;
/**
* 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.
*/
public void setCommand(String cmd) throws SQLException;
/**
* Sets the concurrency property of this {@code RowSet}. The default value
* is {@code ResultSet.CONCUR_READ_ONLY}.
*
* @param concurrency
* the concurrency value. One of:
* <ul>
* <li>{@code ResultSet.CONCUR_READ_ONLY}</li>
* <li>{@code ResultSet.CONCUR_UPDATABLE}</li>
* </ul>
* @throws SQLException
* if an error occurs accessing the database.
* @see java.sql.ResultSet
*/
public void setConcurrency(int concurrency) throws SQLException;
/**
* Sets the database name property for the {@code RowSet}.
* <p>
* 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.
*/
public void setDataSourceName(String name) throws SQLException;
/**
* 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.
*/
public void setDate(int parameterIndex, Date theDate) throws SQLException;
/**
* 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.
*/
public void setDate(int parameterIndex, Date theDate, Calendar theCalendar)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.Date, where the conversion of the Date to an
* SQL DATE value is calculated using a supplied Calendar.
*
* @param parameterName
* name for parameter
* @param theDate
* the Date to use
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setDate(String parameterName, Date theDate) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.Date, where the conversion of the Date to an
* SQL DATE value is calculated using a supplied Calendar.
*
* @param parameterName
* name for parameter
* @param theDate
* the Date to use
* @param theCalendar
* the Calendar to use in converting the Date to an SQL DATE
* value
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setDate(String parameterName, Date theDate, Calendar theCalendar)
throws SQLException;
/**
* 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.
*/
public void setDouble(int parameterIndex, double theDouble)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* supplied double.
*
* @param parameterName
* name for parameter
* @param theDouble
* the double value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setDouble(String parameterName, double theDouble)
throws SQLException;
/**
* 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.
*/
public void setEscapeProcessing(boolean enable) throws SQLException;
/**
* 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.
*/
public void setFloat(int parameterIndex, float theFloat)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* supplied float.
*
* @param parameterName
* name for parameter
* @param theFloat
* the float value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setFloat(String parameterName, float theFloat)
throws SQLException;
/**
* 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.
*/
public void setInt(int parameterIndex, int theInteger) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* supplied integer.
*
* @param parameterName
* name for parameter
* @param theInteger
* the integer value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setInt(String parameterName, int theInteger)
throws SQLException;
/**
* 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.
*/
public void setLong(int parameterIndex, long theLong) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* supplied long.
*
* @param parameterName
* name for parameter
* @param theLong
* the long value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setLong(String parameterName, long theLong) throws SQLException;
/**
* 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.
*/
public void setMaxFieldSize(int max) throws SQLException;
/**
* 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.
*/
public void setMaxRows(int max) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNCharacterStream(int parameterIndex, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNCharacterStream(int parameterIndex, Reader theReader,
long length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNCharacterStream(String parameterName, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNCharacterStream(String parameterName, Reader theReader,
long length) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.NClob.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theNClob
* the NClob value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(int parameterIndex, NClob theNClob)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(int parameterIndex, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(int parameterIndex, Reader theReader, long length)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.sql.NClob.
*
* @param parameterName
* name for parameter
* @param theNClob
* the NClob value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(String parameterName, NClob theNClob)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(String parameterName, Reader theReader)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command with the
* value of a supplied java.io.Reader.
*
* @param parameterName
* name for parameter
* @param theReader
* the Reader which contains the Unicode data to set into the
* parameter
* @param length
* the length of the data in the Reader in characters
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNClob(String parameterName, Reader theReader, long length)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied NString
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theNString
* the NString value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNString(int parameterIndex, String theNString)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied NString.
*
* @param parameterName
* name for parameter
* @param theNString
* the NString value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNString(String parameterName, String theNString)
throws SQLException;
/**
* 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.
*/
public void setNull(int parameterIndex, int sqlType) throws SQLException;
/**
* 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.
*/
public void setNull(int parameterIndex, int sqlType, String typeName)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to SQL
* NULL. This form of the <code>setNull</code> method should be used for
* User Defined Types and REF parameters.
*
* @param parameterName
* name for parameter
* @param sqlType
* the type of the parameter, as defined by java.sql.Types.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNull(String parameterName, int sqlType) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to SQL
* NULL. This form of the <code>setNull</code> method should be used for
* User Defined Types and REF parameters.
*
* @param parameterName
* name for parameter
* @param sqlType
* the type of the parameter, as defined by 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 REF type.
* Ignored if the sqlType is not a UDT or REF type.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setNull(String parameterName, int sqlType, String typeName)
throws SQLException;
/**
* Sets the value of the specified parameter in the {@code RowSet} command
* to a supplied Java object.
* <p>
* 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.
*/
public void setObject(int parameterIndex, Object theObject)
throws SQLException;
/**
* 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.
*/
public void setObject(int parameterIndex, Object theObject,
int targetSqlType) throws SQLException;
/**
* 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.
*/
public void setObject(int parameterIndex, Object theObject,
int targetSqlType, int scale) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied Java object.
*
* @param parameterName
* name for parameter
* @param theObject
* the Java object containing the data value.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setObject(String parameterName, Object theObject)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied Java object.
*
* @param parameterName
* name for parameter
* @param theObject
* the Java object containing the data value.
* @param targetSqlType
* the SQL type to send to the database, as defined in
* java.sql.Types.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setObject(String parameterName, Object theObject,
int targetSqlType) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied Java object.
*
* @param parameterName
* name for parameter
* @param theObject
* the Java object containing the data value.
* @param targetSqlType
* the SQL type to send to the database, as defined in
* java.sql.Types.
* @param scale
* the number of digits after the decimal point, for
* java.sql.Types.DECIMAL and java.sql.Types.NUMERIC types.
* Ignored for all other types.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setObject(String parameterName, Object theObject,
int targetSqlType, int scale) throws SQLException;
/**
* 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.
*/
public void setPassword(String password) throws SQLException;
/**
* 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.
*/
public void setQueryTimeout(int seconds) throws SQLException;
/**
* 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.
*/
public void setReadOnly(boolean readOnly) throws SQLException;
/**
* 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
*/
public void setRef(int parameterIndex, Ref theRef) throws SQLException;
/**
* 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.
*/
public void setShort(int parameterIndex, short theShort)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied short integer.
*
* @param parameterName
* name for parameter
* @param theShort
* the short value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setShort(String parameterName, short theShort)
throws SQLException;
/**
* 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.
*/
public void setString(int parameterIndex, String theString)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied String. The String is placed into the database as a VARCHAR or
* LONGVARCHAR SQL value, depending on the database limits for the length of
* VARCHAR values.
*
* @param parameterName
* name for parameter
* @param theString
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setString(String parameterName, String theString)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied RowId
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theRowId
* the RowId value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setRowId(int parameterIndex, RowId theRowId)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied RowId.
*
* @param parameterName
* name for parameter
* @param theRowId
* the RowId value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setRowId(String parameterName, RowId theRowId)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied SQLXML
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theSQLXML
* the SQLXML value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setSQLXML(int parameterIndex, SQLXML theSQLXML)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to the
* supplied SQLXML.
*
* @param parameterName
* name for parameter
* @param theSQLXML
* the SQLXML value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setSQLXML(String parameterName, SQLXML theSQLXML)
throws SQLException;
/**
* 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
*/
public void setTime(int parameterIndex, Time theTime) throws SQLException;
/**
* 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
*/
public void setTime(int parameterIndex, Time theTime, Calendar theCalendar)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied java.sql.Time, converting to an SQL TIME value using a supplied
* Calendar.
*
* @param parameterName
* name for parameter
* @param theTime
* the Time value to set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setTime(String parameterName, Time theTime) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied java.sql.Time, converting to an SQL TIME value using a supplied
* Calendar.
*
* @param parameterName
* name for parameter
* @param theTime
* the Time value to set
* @param theCalendar
* the Calendar to use in the conversion operation
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setTime(String parameterName, Time theTime, Calendar theCalendar)
throws SQLException;
/**
* 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
*/
public void setTimestamp(int parameterIndex, Timestamp theTimestamp)
throws SQLException;
/**
* 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
*/
public void setTimestamp(int parameterIndex, Timestamp theTimestamp,
Calendar theCalendar) throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied java.sql.Timestamp converting to an SQL TIMESTAMP value
* using the system default {@code Calendar}.
*
* @param parameterName
* name for parameter
* @param theTimestamp
* the value to which the parameter is set
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setTimestamp(String parameterName, Timestamp theTimestamp)
throws SQLException;
/**
* Sets the value of the specified parameter in the RowSet command to a
* supplied java.sql.Timestamp converting to an SQL TIMESTAMP value using a
* supplied Calendar.
*
* @param parameterName
* name for parameter
* @param theTimestamp
* the value to which the parameter is set
* @param theCalendar
* the Calendar to use in the conversion operation
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setTimestamp(String parameterName, Timestamp theTimestamp,
Calendar theCalendar) throws SQLException;
/**
* 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.
* <p>
* 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:
* <ul>
* <li>{@code Connection.TRANSACTION_READ_UNCOMMITTED}</li>
* <li>{@code Connection.TRANSACTION_READ_COMMITTED}</li>
* <li>{@code Connection.TRANSACTION_REPEATABLE_READ}</li>
* <li>{@code Connection.TRANSACTION_SERIALIZABLE}</li>
* </ul>
* @throws SQLException
* if an error occurs accessing the database.
* @see java.sql.Connection
*/
public void setTransactionIsolation(int level) throws SQLException;
/**
* Sets the type of this {@code RowSet}. By default, the type is
* non-scrollable.
*
* @param type
* the type for the {@code RowSet}. One of:
* <ul>
* <li>{@code ResultSet.TYPE_FORWARD_ONLY}</li>
* <li>{@code ResultSet.TYPE_SCROLL_INSENSITIVE}</li>
* <li>{@code ResultSet.TYPE_SCROLL_SENSITIVE}</li>
* </ul>
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setType(int type) throws SQLException;
/**
* 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.
*/
public void setTypeMap(Map<String, Class<?>> theTypeMap)
throws SQLException;
/**
* 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.
*/
public void setUrl(String theURL) throws SQLException;
/**
* Sets the URL used by this RowSet to access the database via a
* <code>DriverManager</code>. The URL is optional - an alternative is to
* use a Data Source Name to create a connection.
*
* @param parameterIndex
* index of the parameter to set, where the first parameter has
* index = 1.
* @param theURL
* a java.net.URL containing the URL for the database.
* @throws SQLException
* if an error occurs accessing the database.
*/
public void setURL(int parameterIndex, URL theURL) throws SQLException;
/**
* 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.
*/
public void setUsername(String theUsername) throws SQLException;
}