Quelle RowSet.java
Sprache: JAVA
/*
* Copyright ( c ) 2000 , 2020 , Oracle and / or its affiliates . All rights reserved .
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
*
* This code is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License version 2 only , as
* published by the Free Software Foundation . Oracle designates this
* particular file as subject to the " Classpath " exception as provided
* by Oracle in the LICENSE file that accompanied this code .
*
* This code is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License
* version 2 for more details ( a copy is included in the LICENSE file that
* accompanied this code ) .
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work ; if not , write to the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA .
*
* Please contact Oracle , 500 Oracle Parkway , Redwood Shores , CA 94065 USA
* or visit www . oracle . com if you need additional information or have any
* questions .
*/
package javax.sql;
import java.sql.*;
import java.io.*;
import java.math.*;
import java.util.*;
/**
* The interface that adds support to the JDBC API for the
* JavaBeans component model .
* A rowset , which can be used as a JavaBeans component in
* a visual Bean development environment , can be created and
* configured at design time and executed at run time .
* < P >
* The { @ code RowSet }
* interface provides a set of JavaBeans properties that allow a { @ code RowSet }
* instance to be configured to connect to a JDBC data source and read
* some data from the data source . A group of setter methods ( { @ code setInt } ,
* { @ code setBytes } , { @ code setString } , and so on )
* provide a way to pass input parameters to a rowset ' s command property .
* This command is the SQL query the rowset uses when it gets its data from
* a relational database , which is generally the case .
* < P >
* The { @ code RowSet }
* interface supports JavaBeans events , allowing other components in an
* application to be notified when an event occurs on a rowset ,
* such as a change in its value .
*
* < P > The { @ code RowSet } interface is unique in that it is intended to be
* implemented using the rest of the JDBC API . In other words , a
* { @ code RowSet } implementation is a layer of software that executes " on top "
* of a JDBC driver . Implementations of the { @ code RowSet } interface can
* be provided by anyone , including JDBC driver vendors who want to
* provide a { @ code RowSet } implementation as part of their JDBC products .
* < P >
* A { @ code RowSet } object may make a connection with a data source and
* maintain that connection throughout its life cycle , in which case it is
* called a < i > connected < / i > rowset . A rowset may also make a connection with
* a data source , get data from it , and then close the connection . Such a rowset
* is called a < i > disconnected < / i > rowset . A disconnected rowset may make
* changes to its data while it is disconnected and then send the changes back
* to the original source of the data , but it must reestablish a connection to do so .
* < P >
* A disconnected rowset may have a { @ code Reader } ( a { @ code RowSetReader } object )
* and a writer ( a { @ code RowSetWriter } object ) associated with it .
* The { @ code Reader } may be implemented in many different ways to populate a rowset
* with data , including getting data from a non - relational data source . The
* writer can also be implemented in many different ways to propagate changes
* made to the rowset ' s data back to the underlying data source .
* < P >
* Rowsets are easy to use . The { @ code RowSet } interface extends the standard
* { @ code java . sql . ResultSet } interface . The { @ code RowSetMetaData }
* interface extends the { @ code java . sql . ResultSetMetaData } interface .
* Thus , developers familiar
* with the JDBC API will have to learn a minimal number of new APIs to
* use rowsets . In addition , third - party software tools that work with
* JDBC { @ code ResultSet } objects will also easily be made to work with rowsets .
*
* @ since 1 . 4
*/
public interface RowSet extends ResultSet {
//-----------------------------------------------------------------------
// Properties
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// The following properties may be used to create a Connection.
//-----------------------------------------------------------------------
/**
* Retrieves the url property this { @ code RowSet } object will use to
* create a connection if it uses the { @ code DriverManager }
* instead of a { @ code DataSource } object to establish the connection .
* The default value is { @ code null } .
*
* @ return a string url
* @ throws SQLException if a database access error occurs
* @ see # setUrl
*/
String getUrl() throws SQLException;
/**
* Sets the URL this { @ code RowSet } object will use when it uses the
* { @ code DriverManager } to create a connection .
*
* Setting this property is optional . If a URL is used , a JDBC driver
* that accepts the URL must be loaded before the
* rowset is used to connect to a database . The rowset will use the URL
* internally to create a database connection when reading or writing
* data . Either a URL or a data source name is used to create a
* connection , whichever was set to non null value most recently .
*
* @ param url a string value ; may be { @ code null }
* @ throws SQLException if a database access error occurs
* @ see # getUrl
*/
void setUrl(String url) throws SQLException;
/**
* Retrieves the logical name that identifies the data source for this
* { @ code RowSet } object .
*
* @ return a data source name
* @ see # setDataSourceName
* @ see # setUrl
*/
String getDataSourceName();
/**
* Sets the data source name property for this { @ code RowSet } object to the
* given { @ code String } .
* < P >
* The value of the data source name property can be used to do a lookup of
* a { @ code DataSource } object that has been registered with a naming
* service . After being retrieved , the { @ code DataSource } object can be
* used to create a connection to the data source that it represents .
*
* @ param name the logical name of the data source for this { @ code RowSet }
* object ; may be { @ code null }
* @ throws SQLException if a database access error occurs
* @ see # getDataSourceName
*/
void setDataSourceName(String name) throws SQLException;
/**
* Retrieves the username used to create a database connection for this
* { @ code RowSet } object .
* The username property is set at run time before calling the method
* { @ code execute } . It is
* not usually part of the serialized state of a { @ code RowSet } object .
*
* @ return the username property
* @ see # setUsername
*/
String getUsername();
/**
* Sets the username property for this { @ code RowSet } object to the
* given { @ code String } .
*
* @ param name a user name
* @ throws SQLException if a database access error occurs
* @ see # getUsername
*/
void setUsername(String name) throws SQLException;
/**
* Retrieves the password used to create a database connection .
* The password property is set at run time before calling the method
* { @ code execute } . It is not usually part of the serialized state
* of a { @ code RowSet } object .
*
* @ return the password for making a database connection
* @ see # setPassword
*/
String getPassword();
/**
* Sets the database password for this { @ code RowSet } object to
* the given { @ code String } .
*
* @ param password the password string
* @ throws SQLException if a database access error occurs
* @ see # getPassword
*/
void setPassword(String password) throws SQLException;
/**
* Retrieves the transaction isolation level set for this
* { @ code RowSet } object .
*
* @ return the transaction isolation level ; one of
* { @ code Connection . TRANSACTION_READ_UNCOMMITTED } ,
* { @ code Connection . TRANSACTION_READ_COMMITTED } ,
* { @ code Connection . TRANSACTION_REPEATABLE_READ } , or
* { @ code Connection . TRANSACTION_SERIALIZABLE }
* @ see # setTransactionIsolation
*/
int getTransactionIsolation();
/**
* Sets the transaction isolation level for this { @ code RowSet } object .
*
* @ param level the transaction isolation level ; one of
* { @ code Connection . TRANSACTION_READ_UNCOMMITTED } ,
* { @ code Connection . TRANSACTION_READ_COMMITTED } ,
* { @ code Connection . TRANSACTION_REPEATABLE_READ } , or
* { @ code Connection . TRANSACTION_SERIALIZABLE }
* @ throws SQLException if a database access error occurs
* @ see # getTransactionIsolation
*/
void setTransactionIsolation(int level) throws SQLException;
/**
* Retrieves the { @ code Map } object associated with this
* { @ code RowSet } object , which specifies the custom mapping
* of SQL user - defined types , if any . The default is for the
* type map to be empty .
*
* @ return a { @ code java . util . Map } object containing the names of
* SQL user - defined types and the Java classes to which they are
* to be mapped
*
* @ throws SQLException if a database access error occurs
* @ see # setTypeMap
*/
java.util.Map<String,Class <?>> getTypeMap() throws SQLException;
/**
* Installs the given { @ code java . util . Map } object as the default
* type map for this { @ code RowSet } object . This type map will be
* used unless another type map is supplied as a method parameter .
*
* @ param map a { @ code java . util . Map } object containing the names of
* SQL user - defined types and the Java classes to which they are
* to be mapped
* @ throws SQLException if a database access error occurs
* @ see # getTypeMap
*/
void setTypeMap(java.util.Map<String,Class <?>> map) throws SQLException;
//-----------------------------------------------------------------------
// The following properties may be used to create a Statement.
//-----------------------------------------------------------------------
/**
* Retrieves this { @ code RowSet } object ' s command property .
*
* The command property contains a command string , which must be an SQL
* query , that can be executed to fill the rowset with data .
* The default value is { @ code null } .
*
* @ return the command string ; may be { @ code null }
* @ see # setCommand
*/
String getCommand();
/**
* Sets this { @ code RowSet } object ' s command property to the given
* SQL query .
*
* This property is optional
* when a rowset gets its data from a data source that does not support
* commands , such as a spreadsheet .
*
* @ param cmd the SQL query that will be used to get the data for this
* { @ code RowSet } object ; may be { @ code null }
* @ throws SQLException if a database access error occurs
* @ see # getCommand
*/
void setCommand(String cmd) throws SQLException;
/**
* Retrieves whether this { @ code RowSet } object is read - only .
* If updates are possible , the default is for a rowset to be
* updatable .
* < P >
* Attempts to update a read - only rowset will result in an
* { @ code SQLException } being thrown .
*
* @ return { @ code true } if this { @ code RowSet } object is
* read - only ; { @ code false } if it is updatable
* @ see # setReadOnly
*/
boolean isReadOnly();
/**
* Sets whether this { @ code RowSet } object is read - only to the
* given { @ code boolean } .
*
* @ param value { @ code true } if read - only ; { @ code false } if
* updatable
* @ throws SQLException if a database access error occurs
* @ see # isReadOnly
*/
void setReadOnly(boolean value) throws SQLException;
/**
* Retrieves the maximum number of bytes that may be returned
* for certain column values .
* This limit applies only to { @ code BINARY } ,
* { @ code VARBINARY } , { @ code LONGVARBINARYBINARY } , { @ code CHAR } ,
* { @ code VARCHAR } , { @ code LONGVARCHAR } , { @ code NCHAR }
* and { @ code NVARCHAR } columns .
* If the limit is exceeded , the excess data is silently discarded .
*
* @ return the current maximum column size limit ; zero means that there
* is no limit
* @ throws SQLException if a database access error occurs
* @ see # setMaxFieldSize
*/
int getMaxFieldSize() throws SQLException;
/**
* Sets the maximum number of bytes that can be returned for a column
* value to the given number of bytes .
* This limit applies only to { @ code BINARY } ,
* { @ code VARBINARY } , { @ code LONGVARBINARYBINARY } , { @ code CHAR } ,
* { @ code VARCHAR } , { @ code LONGVARCHAR } , { @ code NCHAR }
* and { @ code NVARCHAR } columns .
* If the limit is exceeded , the excess data is silently discarded .
* For maximum portability , use values greater than 256 .
*
* @ param max the new max column size limit in bytes ; zero means unlimited
* @ throws SQLException if a database access error occurs
* @ see # getMaxFieldSize
*/
void setMaxFieldSize(int max) throws SQLException;
/**
* Retrieves the maximum number of rows that this { @ code RowSet }
* object can contain .
* If the limit is exceeded , the excess rows are silently dropped .
*
* @ return the current maximum number of rows that this { @ code RowSet }
* object can contain ; zero means unlimited
* @ throws SQLException if a database access error occurs
* @ see # setMaxRows
*/
int getMaxRows() throws SQLException;
/**
* Sets the maximum number of rows that this { @ code RowSet }
* object can contain to the specified number .
* If the limit is exceeded , the excess rows are silently dropped .
*
* @ param max the new maximum number of rows ; zero means unlimited
* @ throws SQLException if a database access error occurs
* @ see # getMaxRows
*/
void setMaxRows(int max) throws SQLException;
/**
* Retrieves whether escape processing is enabled for this
* { @ code RowSet } object .
* If escape scanning is enabled , which is the default , the driver will do
* escape substitution before sending an SQL statement to the database .
*
* @ return { @ code true } if escape processing is enabled ;
* { @ code false } if it is disabled
* @ throws SQLException if a database access error occurs
* @ see # setEscapeProcessing
*/
boolean getEscapeProcessing() throws SQLException;
/**
* Sets escape processing for this { @ code RowSet } object on or
* off . If escape scanning is on ( the default ) , the driver will do
* escape substitution before sending an SQL statement to the database .
*
* @ param enable { @ code true } to enable escape processing ;
* { @ code false } to disable it
* @ throws SQLException if a database access error occurs
* @ see # getEscapeProcessing
*/
void setEscapeProcessing(boolean enable) throws SQLException;
/**
* Retrieves the maximum number of seconds the driver will wait for
* a statement to execute .
* If this limit is exceeded , an { @ code SQLException } is thrown .
*
* @ return the current query timeout limit in seconds ; zero means
* unlimited
* @ throws SQLException if a database access error occurs
* @ see # setQueryTimeout
*/
int getQueryTimeout() throws SQLException;
/**
* Sets the maximum time the driver will wait for
* a statement to execute to the given number of seconds .
* If this limit is exceeded , an { @ code SQLException } is thrown .
*
* @ param seconds the new query timeout limit in seconds ; zero means
* that there is no limit
* @ throws SQLException if a database access error occurs
* @ see # getQueryTimeout
*/
void setQueryTimeout(int seconds) throws SQLException;
/**
* Sets the type of this { @ code RowSet } object to the given type .
* This method is used to change the type of a rowset , which is by
* default read - only and non - scrollable .
*
* @ param type one of the { @ code ResultSet } constants specifying a type :
* { @ code ResultSet . TYPE_FORWARD_ONLY } ,
* { @ code ResultSet . TYPE_SCROLL_INSENSITIVE } , or
* { @ code ResultSet . TYPE_SCROLL_SENSITIVE }
* @ throws SQLException if a database access error occurs
* @ see java . sql . ResultSet # getType
*/
void setType(int type) throws SQLException;
/**
* Sets the concurrency of this { @ code RowSet } object to the given
* concurrency level . This method is used to change the concurrency level
* of a rowset , which is by default { @ code ResultSet . CONCUR_READ_ONLY }
*
* @ param concurrency one of the { @ code ResultSet } constants specifying a
* concurrency level : { @ code ResultSet . CONCUR_READ_ONLY } or
* { @ code ResultSet . CONCUR_UPDATABLE }
* @ throws SQLException if a database access error occurs
* @ see ResultSet # getConcurrency
*/
void setConcurrency(int concurrency) throws SQLException;
//-----------------------------------------------------------------------
// Parameters
//-----------------------------------------------------------------------
/**
* The { @ code RowSet } setter methods are used to set any input parameters
* needed by the { @ code RowSet } object ' s command .
* Parameters are set at run time , as opposed to design time .
*/
/**
* Sets the designated parameter in this { @ code RowSet } object ' s SQL
* command to SQL { @ code NULL } .
*
* < P > < B > Note : < / B > You must specify the parameter ' s SQL type .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param sqlType a SQL type code defined by { @ code java . sql . Types }
* @ throws SQLException if a database access error occurs
*/
void setNull(int parameterIndex, int sqlType) throws SQLException;
/**
* Sets the designated parameter to SQL { @ code NULL } .
*
* < P > < B > Note : < / B > You must specify the parameter ' s SQL type .
*
* @ param parameterName the name of the parameter
* @ param sqlType the SQL type code defined in { @ code java . sql . Types }
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setNull(String parameterName, int sqlType) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s SQL
* command to SQL { @ code NULL } . This version of the method { @ code setNull }
* should be used for SQL user - defined types ( UDTs ) and { @ code REF } type
* parameters . Examples of UDTs include : { @ code STRUCT } , { @ code DISTINCT } ,
* { @ code JAVA_OBJECT } , and named array types .
*
* < P > < B > Note : < / B > To be portable , applications must give the
* SQL type code and the fully qualified SQL type name when specifying
* a NULL UDT or { @ code REF } parameter . In the case of a UDT ,
* the name is the type name of the parameter itself . For a { @ code REF }
* parameter , the name is the type name of the referenced type . If
* a JDBC driver does not need the type code or type name information ,
* it may ignore it .
*
* Although it is intended for UDT and { @ code REF } parameters ,
* this method may be used to set a null parameter of any JDBC type .
* If the parameter does not have a user - defined or { @ code REF } type ,
* the typeName parameter is ignored .
*
*
* @ param paramIndex the first parameter is 1 , the second is 2 , . . .
* @ param sqlType a value from { @ code java . sql . Types }
* @ param typeName the fully qualified name of an SQL UDT or the type
* name of the SQL structured type being referenced by a { @ code REF }
* type ; ignored if the parameter is not a UDT or { @ code REF } type
* @ throws SQLException if a database access error occurs
*/
void setNull (int paramIndex, int sqlType, String typeName)
throws SQLException;
/**
* Sets the designated parameter to SQL { @ code NULL } .
* This version of the method { @ code setNull } should
* be used for user - defined types and REF type parameters . Examples
* of user - defined types include : STRUCT , DISTINCT , JAVA_OBJECT , and
* named array types .
*
* < P > < B > Note : < / B > To be portable , applications must give the
* SQL type code and the fully - qualified SQL type name when specifying
* a NULL user - defined or REF parameter . In the case of a user - defined type
* the name is the type name of the parameter itself . For a REF
* parameter , the name is the type name of the referenced type . If
* a JDBC driver does not need the type code or type name information ,
* it may ignore it .
*
* Although it is intended for user - defined and Ref parameters ,
* this method may be used to set a null parameter of any JDBC type .
* If the parameter does not have a user - defined or REF type , the given
* typeName is ignored .
*
*
* @ param parameterName the name of the parameter
* @ param sqlType a value from { @ code java . sql . Types }
* @ param typeName the fully - qualified name of an SQL user - defined type ;
* ignored if the parameter is not a user - defined type or
* SQL { @ code REF } value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setNull (String parameterName, int sqlType, String typeName)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code boolean } value . The driver converts this to
* an SQL { @ code BIT } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setBoolean(int parameterIndex, boolean x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code boolean } value .
* The driver converts this
* to an SQL { @ code BIT } or { @ code BOOLEAN } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ see # getBoolean
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setBoolean(String parameterName, boolean x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code byte } value . The driver converts this to
* an SQL { @ code TINYINT } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setByte(int parameterIndex, byte x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code byte } value .
* The driver converts this
* to an SQL { @ code TINYINT } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getByte
* @ since 1 . 4
*/
void setByte(String parameterName, byte x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code short } value . The driver converts this to
* an SQL { @ code SMALLINT } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setShort(int parameterIndex, short x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code short } value .
* The driver converts this
* to an SQL { @ code SMALLINT } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getShort
* @ since 1 . 4
*/
void setShort(String parameterName, short x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code int } value . The driver converts this to
* an SQL { @ code INTEGER } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setInt(int parameterIndex, int x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code int } value .
* The driver converts this
* to an SQL { @ code INTEGER } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getInt
* @ since 1 . 4
*/
void setInt(String parameterName, int x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code long } value . The driver converts this to
* an SQL { @ code BIGINT } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setLong(int parameterIndex, long x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code long } value .
* The driver converts this
* to an SQL { @ code BIGINT } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getLong
* @ since 1 . 4
*/
void setLong(String parameterName, long x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code float } value . The driver converts this to
* an SQL { @ code REAL } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setFloat(int parameterIndex, float x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code float } value .
* The driver converts this
* to an SQL { @ code FLOAT } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getFloat
* @ since 1 . 4
*/
void setFloat(String parameterName, float x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code double } value . The driver converts this to
* an SQL { @ code DOUBLE } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setDouble(int parameterIndex, double x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code double } value .
* The driver converts this
* to an SQL { @ code DOUBLE } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getDouble
* @ since 1 . 4
*/
void setDouble(String parameterName, double x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . math . BigDecimal } value .
* The driver converts this to
* an SQL { @ code NUMERIC } value before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException;
/**
* Sets the designated parameter to the given
* { @ code java . math . BigDecimal } value .
* The driver converts this to an SQL { @ code NUMERIC } value when
* it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getBigDecimal
* @ since 1 . 4
*/
void setBigDecimal(String parameterName, BigDecimal x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java { @ code String } value . Before sending it to the
* database , the driver converts this to an SQL { @ code VARCHAR } or
* { @ code LONGVARCHAR } value , depending on the argument ' s size relative
* to the driver ' s limits on { @ code VARCHAR } values .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setString(int parameterIndex, String x) throws SQLException;
/**
* Sets the designated parameter to the given Java { @ code String } value .
* The driver converts this
* to an SQL { @ code VARCHAR } or { @ code LONGVARCHAR } value
* ( depending on the argument ' s
* size relative to the driver ' s limits on { @ code VARCHAR } values )
* when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getString
* @ since 1 . 4
*/
void setString(String parameterName, String x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given Java array of { @ code byte } values . Before sending it to the
* database , the driver converts this to an SQL { @ code VARBINARY } or
* { @ code LONGVARBINARY } value , depending on the argument ' s size relative
* to the driver ' s limits on { @ code VARBINARY } values .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setBytes(int parameterIndex, byte x[]) throws SQLException;
/**
* Sets the designated parameter to the given Java array of bytes .
* The driver converts this to an SQL { @ code VARBINARY } or
* { @ code LONGVARBINARY } ( depending on the argument ' s size relative
* to the driver ' s limits on { @ code VARBINARY } values ) when it sends
* it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getBytes
* @ since 1 . 4
*/
void setBytes(String parameterName, byte x[]) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . sql . Date } value . The driver converts this to
* an SQL { @ code DATE } value before sending it to the database , using the
* default { @ code java . util . Calendar } to calculate the date .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setDate(int parameterIndex, java.sql.Date x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . sql . Time } value . The driver converts this to
* an SQL { @ code TIME } value before sending it to the database , using the
* default { @ code java . util . Calendar } to calculate it .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setTime(int parameterIndex, java.sql.Time x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . sql . Timestamp } value . The driver converts this to
* an SQL { @ code TIMESTAMP } value before sending it to the database , using the
* default { @ code java . util . Calendar } to calculate it .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*/
void setTimestamp(int parameterIndex, java.sql.Timestamp x)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Timestamp } value .
* The driver
* converts this to an SQL { @ code TIMESTAMP } value when it sends it to the
* database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getTimestamp
* @ since 1 . 4
*/
void setTimestamp(String parameterName, java.sql.Timestamp x)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . io . InputStream } value .
* It may be more practical to send a very large ASCII value via a
* { @ code java . io . InputStream } rather than as a { @ code LONGVARCHAR }
* parameter . The driver will read the data from the stream
* as needed until it reaches end - of - file .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the Java input stream that contains the ASCII parameter value
* @ param length the number of bytes in the stream
* @ throws SQLException if a database access error occurs
*/
void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)
throws SQLException;
/**
* Sets the designated parameter to the given input stream , which will have
* the specified number of bytes .
* When a very large ASCII value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } . Data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from ASCII to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterName the name of the parameter
* @ param x the Java input stream that contains the ASCII parameter value
* @ param length the number of bytes in the stream
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setAsciiStream(String parameterName, java.io.InputStream x, int length)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . io . InputStream } value .
* It may be more practical to send a very large binary value via a
* { @ code java . io . InputStream } rather than as a { @ code LONGVARBINARY }
* parameter . The driver will read the data from the stream
* as needed until it reaches end - of - file .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the java input stream which contains the binary parameter value
* @ param length the number of bytes in the stream
* @ throws SQLException if a database access error occurs
*/
void setBinaryStream(int parameterIndex, java.io.InputStream x,
int length) throws SQLException;
/**
* Sets the designated parameter to the given input stream , which will have
* the specified number of bytes .
* When a very large binary value is input to a { @ code LONGVARBINARY }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } object . The data will be read from the stream
* as needed until end - of - file is reached .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterName the name of the parameter
* @ param x the java input stream which contains the binary parameter value
* @ param length the number of bytes in the stream
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setBinaryStream(String parameterName, java.io.InputStream x,
int length) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code java . io . Reader } value .
* It may be more practical to send a very large UNICODE value via a
* { @ code java . io . Reader } rather than as a { @ code LONGVARCHAR }
* parameter . The driver will read the data from the stream
* as needed until it reaches end - of - file .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param reader the { @ code Reader } object that contains the UNICODE data
* to be set
* @ param length the number of characters in the stream
* @ throws SQLException if a database access error occurs
*/
void setCharacterStream(int parameterIndex,
Reader reader,
int length) throws SQLException;
/**
* Sets the designated parameter to the given { @ code Reader }
* object , which is the given number of characters long .
* When a very large UNICODE value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . Reader } object . The data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from UNICODE to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
*
* @ param parameterName the name of the parameter
* @ param reader the { @ code java . io . Reader } object that
* contains the UNICODE data used as the designated parameter
* @ param length the number of characters in the stream
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 4
*/
void setCharacterStream(String parameterName,
java.io.Reader reader,
int length) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given input stream .
* When a very large ASCII value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } . Data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from ASCII to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setAsciiStream } which takes a length parameter .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the Java input stream that contains the ASCII parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setAsciiStream(int parameterIndex, java.io.InputStream x)
throws SQLException;
/**
* Sets the designated parameter to the given input stream .
* When a very large ASCII value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } . Data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from ASCII to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setAsciiStream } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param x the Java input stream that contains the ASCII parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setAsciiStream(String parameterName, java.io.InputStream x)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given input stream .
* When a very large binary value is input to a { @ code LONGVARBINARY }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } object . The data will be read from the
* stream as needed until end - of - file is reached .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setBinaryStream } which takes a length parameter .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the java input stream which contains the binary parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setBinaryStream(int parameterIndex, java.io.InputStream x)
throws SQLException;
/**
* Sets the designated parameter to the given input stream .
* When a very large binary value is input to a { @ code LONGVARBINARY }
* parameter , it may be more practical to send it via a
* { @ code java . io . InputStream } object . The data will be read from the
* stream as needed until end - of - file is reached .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setBinaryStream } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param x the java input stream which contains the binary parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setBinaryStream(String parameterName, java.io.InputStream x)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to the given { @ code Reader }
* object .
* When a very large UNICODE value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . Reader } object . The data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from UNICODE to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setCharacterStream } which takes a length parameter .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param reader the { @ code java . io . Reader } object that contains the
* Unicode data
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setCharacterStream(int parameterIndex,
java.io.Reader reader) throws SQLException;
/**
* Sets the designated parameter to the given { @ code Reader }
* object .
* When a very large UNICODE value is input to a { @ code LONGVARCHAR }
* parameter , it may be more practical to send it via a
* { @ code java . io . Reader } object . The data will be read from the stream
* as needed until end - of - file is reached . The JDBC driver will
* do any necessary conversion from UNICODE to the database char format .
*
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setCharacterStream } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param reader the { @ code java . io . Reader } object that contains the
* Unicode data
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setCharacterStream(String parameterName,
java.io.Reader reader) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* to a { @ code Reader } object . The
* { @ code Reader } reads the data till end - of - file is reached . The
* driver does the necessary conversion from Java character format to
* the national character set in the database .
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setNCharacterStream } which takes a length parameter .
*
* @ param parameterIndex of the first parameter is 1 , the second is 2 , . . .
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; if a database access error occurs ; or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given Java { @ code Object } . For integral values , the
* { @ code java . lang } equivalent objects should be used ( for example ,
* an instance of the class { @ code Integer } for an { @ code int } ) .
*
* If the second argument is an { @ code InputStream } then the stream must contain
* the number of bytes specified by scaleOrLength . If the second argument is a
* { @ code Reader } then the { @ code Reader } must contain the number of characters specified
* by scaleOrLength . If these conditions are not true the driver will generate a
* { @ code SQLException } when the prepared statement is executed .
*
* < p > The given Java object will be converted to the targetSqlType
* before being sent to the database .
* < P >
* If the object is of a class implementing { @ code SQLData } ,
* the rowset should call the method { @ code SQLData . writeSQL }
* to write the object to an { @ code SQLOutput } data stream .
* If , on the other hand , the object is of a class implementing
* { @ code Ref } , { @ code Blob } , { @ code Clob } , { @ code NClob } ,
* { @ code Struct } , { @ code java . net . URL } ,
* or { @ code Array } , the driver should pass it to the database as a
* value of the corresponding SQL type .
*
*
* < p > Note that this method may be used to pass database - specific
* abstract data types .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the object containing the input parameter value
* @ param targetSqlType the SQL type ( as defined in { @ code java . sql . Types } )
* to be sent to the database . The scale argument may further qualify this
* type .
* @ param scaleOrLength for { @ code java . sql . Types . DECIMAL }
* or { @ code java . sql . Types . NUMERIC types } ,
* this is the number of digits after the decimal point . For
* Java Object types { @ code InputStream } and { @ code Reader } ,
* this is the length
* of the data in the stream or { @ code Reader } . For all other types ,
* this value will be ignored .
* @ throws SQLException if a database access error occurs
* @ see java . sql . Types
*/
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
throws SQLException;
/**
* Sets the value of the designated parameter with the given object . The second
* argument must be an object type ; for integral values , the
* { @ code java . lang } equivalent objects should be used .
*
* < p > The given Java object will be converted to the given targetSqlType
* before being sent to the database .
*
* If the object has a custom mapping ( is of a class implementing the
* interface { @ code SQLData } ) ,
* the JDBC driver should call the method { @ code SQLData . writeSQL } to write it
* to the SQL data stream .
* If , on the other hand , the object is of a class implementing
* { @ code Ref } , { @ code Blob } , { @ code Clob } , { @ code NClob } ,
* { @ code Struct } , { @ code java . net . URL } ,
* or { @ code Array } , the driver should pass it to the database as a
* value of the corresponding SQL type .
* < P >
* Note that this method may be used to pass database -
* specific abstract data types .
*
* @ param parameterName the name of the parameter
* @ param x the object containing the input parameter value
* @ param targetSqlType the SQL type ( as defined in java . sql . Types ) to be
* sent to the database . The scale argument may further qualify this type .
* @ param scale for java . sql . Types . DECIMAL or java . sql . Types . NUMERIC types ,
* this is the number of digits after the decimal point . For all other
* types , this value will be ignored .
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if { @ code targetSqlType } is
* a { @ code ARRAY } , { @ code BLOB } , { @ code CLOB } ,
* { @ code DATALINK } , { @ code JAVA_OBJECT } , { @ code NCHAR } ,
* { @ code NCLOB } , { @ code NVARCHAR } , { @ code LONGNVARCHAR } ,
* { @ code REF } , { @ code ROWID } , { @ code SQLXML }
* or { @ code STRUCT } data type and the JDBC driver does not support
* this data type
* @ see Types
* @ see # getObject
* @ since 1 . 4
*/
void setObject(String parameterName, Object x, int targetSqlType, int scale)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with a Java { @ code Object } . For integral values , the
* { @ code java . lang } equivalent objects should be used .
* This method is like { @ code setObject } above , but the scale used is the scale
* of the second parameter . Scalar values have a scale of zero . Literal
* values have the scale present in the literal .
* < P >
* Even though it is supported , it is not recommended that this method
* be called with floating point input values .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the object containing the input parameter value
* @ param targetSqlType the SQL type ( as defined in { @ code java . sql . Types } )
* to be sent to the database
* @ throws SQLException if a database access error occurs
*/
void setObject(int parameterIndex, Object x,
int targetSqlType) throws SQLException;
/**
* Sets the value of the designated parameter with the given object .
* This method is like the method { @ code setObject }
* above , except that it assumes a scale of zero .
*
* @ param parameterName the name of the parameter
* @ param x the object containing the input parameter value
* @ param targetSqlType the SQL type ( as defined in java . sql . Types ) to be
* sent to the database
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if { @ code targetSqlType } is
* a { @ code ARRAY } , { @ code BLOB } , { @ code CLOB } ,
* { @ code DATALINK } , { @ code JAVA_OBJECT } , { @ code NCHAR } ,
* { @ code NCLOB } , { @ code NVARCHAR } , { @ code LONGNVARCHAR } ,
* { @ code REF } , { @ code ROWID } , { @ code SQLXML }
* or { @ code STRUCT } data type and the JDBC driver does not support
* this data type
* @ see # getObject
* @ since 1 . 4
*/
void setObject(String parameterName, Object x, int targetSqlType)
throws SQLException;
/**
* Sets the value of the designated parameter with the given object .
* The second parameter must be of type { @ code Object } ; therefore , the
* { @ code java . lang } equivalent objects should be used for built - in types .
*
* < p > The JDBC specification specifies a standard mapping from
* Java { @ code Object } types to SQL types . The given argument
* will be converted to the corresponding SQL type before being
* sent to the database .
*
* < p > Note that this method may be used to pass database -
* specific abstract data types , by using a driver - specific Java
* type .
*
* If the object is of a class implementing the interface { @ code SQLData } ,
* the JDBC driver should call the method { @ code SQLData . writeSQL }
* to write it to the SQL data stream .
* If , on the other hand , the object is of a class implementing
* { @ code Ref } , { @ code Blob } , { @ code Clob } , { @ code NClob } ,
* { @ code Struct } , { @ code java . net . URL } ,
* or { @ code Array } , the driver should pass it to the database as a
* value of the corresponding SQL type .
* < P >
* This method throws an exception if there is an ambiguity , for example , if the
* object is of a class implementing more than one of the interfaces named above .
*
* @ param parameterName the name of the parameter
* @ param x the object containing the input parameter value
* @ throws SQLException if a database access error occurs ,
* this method is called on a closed { @ code CallableStatement } or if the given
* { @ code Object } parameter is ambiguous
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getObject
* @ since 1 . 4
*/
void setObject(String parameterName, Object x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with a Java { @ code Object } . For integral values , the
* { @ code java . lang } equivalent objects should be used .
*
* < p > The JDBC specification provides a standard mapping from
* Java Object types to SQL types . The driver will convert the
* given Java object to its standard SQL mapping before sending it
* to the database .
*
* < p > Note that this method may be used to pass database - specific
* abstract data types by using a driver - specific Java type .
*
* If the object is of a class implementing { @ code SQLData } ,
* the rowset should call the method { @ code SQLData . writeSQL }
* to write the object to an { @ code SQLOutput } data stream .
* If , on the other hand , the object is of a class implementing
* { @ code Ref } , { @ code Blob } , { @ code Clob } , { @ code NClob } ,
* { @ code Struct } , { @ code java . net . URL } ,
* or { @ code Array } , the driver should pass it to the database as a
* value of the corresponding SQL type .
*
* < P >
* An exception is thrown if there is an ambiguity , for example , if the
* object is of a class implementing more than one of these interfaces .
*
* @ param parameterIndex The first parameter is 1 , the second is 2 , . . .
* @ param x The object containing the input parameter value
* @ throws SQLException if a database access error occurs
*/
void setObject(int parameterIndex, Object x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code Ref } value . The driver will convert this
* to the appropriate { @ code REF ( < structured - type > ) } value .
*
* @ param i the first parameter is 1 , the second is 2 , . . .
* @ param x an object representing data of an SQL { @ code REF } type
* @ throws SQLException if a database access error occurs
*/
void setRef (int i, Ref x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code Blob } value . The driver will convert this
* to the { @ code BLOB } value that the { @ code Blob } object
* represents before sending it to the database .
*
* @ param i the first parameter is 1 , the second is 2 , . . .
* @ param x an object representing a BLOB
* @ throws SQLException if a database access error occurs
*/
void setBlob (int i, Blob x) throws SQLException;
/**
* Sets the designated parameter to a { @ code InputStream } object .
* The { @ code InputStream } must contain the number
* of characters specified by length otherwise a { @ code SQLException } will be
* generated when the { @ code PreparedStatement } is executed .
* This method differs from the { @ code setBinaryStream ( int , InputStream , int ) }
* method because it informs the driver that the parameter value should be
* sent to the server as a { @ code BLOB } . When the { @ code setBinaryStream } method is used ,
* the driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGVARBINARY } or a { @ code BLOB }
* @ param parameterIndex index of the first parameter is 1 ,
* the second is 2 , . . .
* @ param inputStream An object that contains the data to set the parameter
* value to .
* @ param length the number of bytes in the parameter data .
* @ throws SQLException if a database access error occurs ,
* this method is called on a closed { @ code PreparedStatement } ,
* if parameterIndex does not correspond
* to a parameter marker in the SQL statement , if the length specified
* is less than zero or if the number of bytes in the { @ code InputStream } does not match
* the specified length .
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setBlob(int parameterIndex, InputStream inputStream, long length)
throws SQLException;
/**
* Sets the designated parameter to a { @ code InputStream } object .
* This method differs from the { @ code setBinaryStream ( int , InputStream ) }
* method because it informs the driver that the parameter value should be
* sent to the server as a { @ code BLOB } . When the { @ code setBinaryStream } method is used ,
* the driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGVARBINARY } or a { @ code BLOB }
*
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setBlob } which takes a length parameter .
*
* @ param parameterIndex index of the first parameter is 1 ,
* the second is 2 , . . .
* @ param inputStream An object that contains the data to set the parameter
* value to .
* @ throws SQLException if a database access error occurs ,
* this method is called on a closed { @ code PreparedStatement } or
* if parameterIndex does not correspond
* to a parameter marker in the SQL statement ,
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setBlob(int parameterIndex, InputStream inputStream)
throws SQLException;
/**
* Sets the designated parameter to a { @ code InputStream } object .
* The { @ code InputStream } must contain the number
* of characters specified by length , otherwise a { @ code SQLException } will be
* generated when the { @ code CallableStatement } is executed .
* This method differs from the { @ code setBinaryStream ( int , InputStream , int ) }
* method because it informs the driver that the parameter value should be
* sent to the server as a { @ code BLOB } . When the { @ code setBinaryStream } method is used ,
* the driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGVARBINARY } or a { @ code BLOB }
*
* @ param parameterName the name of the parameter to be set
* the second is 2 , . . .
*
* @ param inputStream An object that contains the data to set the parameter
* value to .
* @ param length the number of bytes in the parameter data .
* @ throws SQLException if parameterIndex does not correspond
* to a parameter marker in the SQL statement , or if the length specified
* is less than zero ; if the number of bytes in the { @ code InputStream } does not match
* the specified length ; if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
*
* @ since 1 . 6
*/
void setBlob(String parameterName, InputStream inputStream, long length)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Blob } object .
* The driver converts this to an SQL { @ code BLOB } value when it
* sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x a { @ code Blob } object that maps an SQL { @ code BLOB } value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 6
*/
void setBlob (String parameterName, Blob x) throws SQLException;
/**
* Sets the designated parameter to a { @ code InputStream } object .
* This method differs from the { @ code setBinaryStream ( int , InputStream ) }
* method because it informs the driver that the parameter value should be
* sent to the server as a { @ code BLOB } . When the { @ code setBinaryStream } method is used ,
* the driver may have to do extra work to determine whether the parameter
* data should be send to the server as a { @ code LONGVARBINARY } or a { @ code BLOB }
*
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setBlob } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param inputStream An object that contains the data to set the parameter
* value to .
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setBlob(String parameterName, InputStream inputStream)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code Clob } value . The driver will convert this
* to the { @ code CLOB } value that the { @ code Clob } object
* represents before sending it to the database .
*
* @ param i the first parameter is 1 , the second is 2 , . . .
* @ param x an object representing a CLOB
* @ throws SQLException if a database access error occurs
*/
void setClob (int i, Clob x) throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* The { @ code Reader } must contain the number
* of characters specified by length otherwise a { @ code SQLException } will be
* generated when the { @ code PreparedStatement } is executed .
* This method differs from the { @ code setCharacterStream ( int , Reader , int ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code CLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGVARCHAR } or a { @ code CLOB }
* @ param parameterIndex index of the first parameter is 1 , the second is 2 , . . .
* @ param reader An object that contains the data to set the parameter value to .
* @ param length the number of characters in the parameter data .
* @ throws SQLException if a database access error occurs , this method is called on
* a closed { @ code PreparedStatement } , if parameterIndex does not correspond to a parameter
* marker in the SQL statement , or if the length specified is less than zero .
*
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setClob(int parameterIndex, Reader reader, long length)
throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* This method differs from the { @ code setCharacterStream ( int , Reader ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code CLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGVARCHAR } or a { @ code CLOB }
*
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setClob } which takes a length parameter .
*
* @ param parameterIndex index of the first parameter is 1 , the second is 2 , . . .
* @ param reader An object that contains the data to set the parameter value to .
* @ throws SQLException if a database access error occurs , this method is called on
* a closed { @ code PreparedStatement } or if parameterIndex does not correspond to a parameter
* marker in the SQL statement
*
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setClob(int parameterIndex, Reader reader)
throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object . The
* { @ code Reader } must contain the number
* of characters specified by length otherwise a { @ code SQLException } will be
* generated when the { @ code CallableStatement } is executed .
* This method differs from the { @ code setCharacterStream ( int , Reader , int ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code CLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be send to the server as a { @ code LONGVARCHAR } or a { @ code CLOB }
* @ param parameterName the name of the parameter to be set
* @ param reader An object that contains the data to set the parameter value to .
* @ param length the number of characters in the parameter data .
* @ throws SQLException if parameterIndex does not correspond to a parameter
* marker in the SQL statement ; if the length specified is less than zero ;
* a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
*
* @ since 1 . 6
*/
void setClob(String parameterName, Reader reader, long length)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Clob } object .
* The driver converts this to an SQL { @ code CLOB } value when it
* sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x a { @ code Clob } object that maps an SQL { @ code CLOB } value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 6
*/
void setClob (String parameterName, Clob x) throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* This method differs from the { @ code setCharacterStream ( int , Reader ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code CLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be send to the server as a { @ code LONGVARCHAR } or a { @ code CLOB }
*
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setClob } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param reader An object that contains the data to set the parameter value to .
* @ throws SQLException if a database access error occurs or this method is called on
* a closed { @ code CallableStatement }
*
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setClob(String parameterName, Reader reader)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code Array } value . The driver will convert this
* to the { @ code ARRAY } value that the { @ code Array } object
* represents before sending it to the database .
*
* @ param i the first parameter is 1 , the second is 2 , . . .
* @ param x an object representing an SQL array
* @ throws SQLException if a database access error occurs
*/
void setArray (int i, Array x) throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code java . sql . Date } value . The driver will convert this
* to an SQL { @ code DATE } value , using the given { @ code java . util . Calendar }
* object to calculate the date .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ param cal the { @ code java . util . Calendar } object to use for calculating the date
* @ throws SQLException if a database access error occurs
*/
void setDate(int parameterIndex, java.sql.Date x, Calendar cal)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Date } value
* using the default time zone of the virtual machine that is running
* the application .
* The driver converts this
* to an SQL { @ code DATE } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getDate
* @ since 1 . 4
*/
void setDate(String parameterName, java.sql.Date x)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Date } value ,
* using the given { @ code Calendar } object . The driver uses
* the { @ code Calendar } object to construct an SQL { @ code DATE } value ,
* which the driver then sends to the database . With a
* a { @ code Calendar } object , the driver can calculate the date
* taking into account a custom timezone . If no
* { @ code Calendar } object is specified , the driver uses the default
* timezone , which is that of the virtual machine running the application .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ param cal the { @ code Calendar } object the driver will use
* to construct the date
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getDate
* @ since 1 . 4
*/
void setDate(String parameterName, java.sql.Date x, Calendar cal)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code java . sql . Time } value . The driver will convert this
* to an SQL { @ code TIME } value , using the given { @ code java . util . Calendar }
* object to calculate it , before sending it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ param cal the { @ code java . util . Calendar } object to use for calculating the time
* @ throws SQLException if a database access error occurs
*/
void setTime(int parameterIndex, java.sql.Time x, Calendar cal)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Time } value .
* The driver converts this
* to an SQL { @ code TIME } value when it sends it to the database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getTime
* @ since 1 . 4
*/
void setTime(String parameterName, java.sql.Time x)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Time } value ,
* using the given { @ code Calendar } object . The driver uses
* the { @ code Calendar } object to construct an SQL { @ code TIME } value ,
* which the driver then sends to the database . With a
* a { @ code Calendar } object , the driver can calculate the time
* taking into account a custom timezone . If no
* { @ code Calendar } object is specified , the driver uses the default
* timezone , which is that of the virtual machine running the application .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ param cal the { @ code Calendar } object the driver will use
* to construct the time
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getTime
* @ since 1 . 4
*/
void setTime(String parameterName, java.sql.Time x, Calendar cal)
throws SQLException;
/**
* Sets the designated parameter in this { @ code RowSet } object ' s command
* with the given { @ code java . sql . Timestamp } value . The driver will
* convert this to an SQL { @ code TIMESTAMP } value , using the given
* { @ code java . util . Calendar } object to calculate it , before sending it to the
* database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ param cal the { @ code java . util . Calendar } object to use for calculating the
* timestamp
* @ throws SQLException if a database access error occurs
*/
void setTimestamp(int parameterIndex, java.sql.Timestamp x, Calendar cal)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . Timestamp } value ,
* using the given { @ code Calendar } object . The driver uses
* the { @ code Calendar } object to construct an SQL { @ code TIMESTAMP } value ,
* which the driver then sends to the database . With a
* a { @ code Calendar } object , the driver can calculate the timestamp
* taking into account a custom timezone . If no
* { @ code Calendar } object is specified , the driver uses the default
* timezone , which is that of the virtual machine running the application .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ param cal the { @ code Calendar } object the driver will use
* to construct the timestamp
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ see # getTimestamp
* @ since 1 . 4
*/
void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal)
throws SQLException;
/**
* Clears the parameters set for this { @ code RowSet } object ' s command .
* < P > In general , parameter values remain in force for repeated use of a
* { @ code RowSet } object . Setting a parameter value automatically clears its
* previous value . However , in some cases it is useful to immediately
* release the resources used by the current parameter values , which can
* be done by calling the method { @ code clearParameters } .
*
* @ throws SQLException if a database access error occurs
*/
void clearParameters() throws SQLException;
//---------------------------------------------------------------------
// Reading and writing data
//---------------------------------------------------------------------
/**
* Fills this { @ code RowSet } object with data .
* < P >
* The { @ code execute } method may use the following properties
* to create a connection for reading data : url , data source name ,
* user name , password , transaction isolation , and type map .
*
* The { @ code execute } method may use the following properties
* to create a statement to execute a command :
* command , read only , maximum field size ,
* maximum rows , escape processing , and query timeout .
* < P >
* If the required properties have not been set , an exception is
* thrown . If this method is successful , the current contents of the rowset are
* discarded and the rowset ' s metadata is also ( re ) set . If there are
* outstanding updates , they are ignored .
* < P >
* If this { @ code RowSet } object does not maintain a continuous connection
* with its source of data , it may use a { @ code Reader } ( a { @ code RowSetReader }
* object ) to fill itself with data . In this case , a { @ code Reader } will have been
* registered with this { @ code RowSet } object , and the method
* { @ code execute } will call on the { @ code Reader } ' s { @ code readData }
* method as part of its implementation .
*
* @ throws SQLException if a database access error occurs or any of the
* properties necessary for making a connection and creating
* a statement have not been set
*/
void execute() throws SQLException;
//--------------------------------------------------------------------
// Events
//--------------------------------------------------------------------
/**
* Registers the given listener so that it will be notified of events
* that occur on this { @ code RowSet } object .
*
* @ param listener a component that has implemented the { @ code RowSetListener }
* interface and wants to be notified when events occur on this
* { @ code RowSet } object
* @ see # removeRowSetListener
*/
void addRowSetListener(RowSetListener listener);
/**
* Removes the specified listener from the list of components that will be
* notified when an event occurs on this { @ code RowSet } object .
*
* @ param listener a component that has been registered as a listener for this
* { @ code RowSet } object
* @ see # addRowSetListener
*/
void removeRowSetListener(RowSetListener listener);
/**
* Sets the designated parameter to the given { @ code java . sql . SQLXML } object . The driver converts this to an
* SQL { @ code XML } value when it sends it to the database .
* @ param parameterIndex index of the first parameter is 1 , the second is 2 , . . .
* @ param xmlObject a { @ code SQLXML } object that maps an SQL { @ code XML } value
* @ throws SQLException if a database access error occurs , this method
* is called on a closed result set ,
* the { @ code java . xml . transform . Result } ,
* { @ code Writer } or { @ code OutputStream } has not been closed
* for the { @ code SQLXML } object or
* if there is an error processing the XML value . The { @ code getCause } method
* of the exception may provide a more detailed exception , for example , if the
* stream does not contain valid XML .
* @ since 1 . 6
*/
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . SQLXML } object . The driver converts this to an
* { @ code SQL XML } value when it sends it to the database .
* @ param parameterName the name of the parameter
* @ param xmlObject a { @ code SQLXML } object that maps an { @ code SQL XML } value
* @ throws SQLException if a database access error occurs , this method
* is called on a closed result set ,
* the { @ code java . xml . transform . Result } ,
* { @ code Writer } or { @ code OutputStream } has not been closed
* for the { @ code SQLXML } object or
* if there is an error processing the XML value . The { @ code getCause } method
* of the exception may provide a more detailed exception , for example , if the
* stream does not contain valid XML .
* @ since 1 . 6
*/
void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . RowId } object . The
* driver converts this to a SQL { @ code ROWID } value when it sends it
* to the database
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
*
* @ since 1 . 6
*/
void setRowId(int parameterIndex, RowId x) throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . sql . RowId } object . The
* driver converts this to a SQL { @ code ROWID } when it sends it to the
* database .
*
* @ param parameterName the name of the parameter
* @ param x the parameter value
* @ throws SQLException if a database access error occurs
* @ since 1 . 6
*/
void setRowId(String parameterName, RowId x) throws SQLException;
/**
* Sets the designated parameter to the given { @ code String } object .
* The driver converts this to a SQL { @ code NCHAR } or
* { @ code NVARCHAR } or { @ code LONGNVARCHAR } value
* ( depending on the argument ' s
* size relative to the driver ' s limits on { @ code NVARCHAR } values )
* when it sends it to the database .
*
* @ param parameterIndex of the first parameter is 1 , the second is 2 , . . .
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
void setNString(int parameterIndex, String value) throws SQLException;
/**
* Sets the designated parameter to the given { @ code String } object .
* The driver converts this to a SQL { @ code NCHAR } or
* { @ code NVARCHAR } or { @ code LONGNVARCHAR }
* @ param parameterName the name of the column to be set
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
public void setNString(String parameterName, String value)
throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object . The
* { @ code Reader } reads the data till end - of - file is reached . The
* driver does the necessary conversion from Java character format to
* the national character set in the database .
* @ param parameterIndex of the first parameter is 1 , the second is 2 , . . .
* @ param value the parameter value
* @ param length the number of characters in the parameter data .
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object . The
* { @ code Reader } reads the data till end - of - file is reached . The
* driver does the necessary conversion from Java character format to
* the national character set in the database .
* @ param parameterName the name of the column to be set
* @ param value the parameter value
* @ param length the number of characters in the parameter data .
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
public void setNCharacterStream(String parameterName, Reader value, long length)
throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object . The
* { @ code Reader } reads the data till end - of - file is reached . The
* driver does the necessary conversion from Java character format to
* the national character set in the database .
* < P > < B > Note : < / B > This stream object can either be a standard
* Java stream object or your own subclass that implements the
* standard interface .
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setNCharacterStream } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; if a database access error occurs ; or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 6
*/
void setNCharacterStream(String parameterName, Reader value) throws SQLException;
/**
* Sets the designated parameter to a { @ code java . sql . NClob } object . The object
* implements the { @ code java . sql . NClob } interface . This { @ code NClob }
* object maps to a SQL { @ code NCLOB } .
* @ param parameterName the name of the column to be set
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
void setNClob(String parameterName, NClob value) throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* The { @ code Reader } must contain the number
* of characters specified by length otherwise a { @ code SQLException } will be
* generated when the { @ code CallableStatement } is executed .
* This method differs from the { @ code setCharacterStream ( int , Reader , int ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code NCLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be send to the server as a { @ code LONGNVARCHAR } or a { @ code NCLOB }
*
* @ param parameterName the name of the parameter to be set
* @ param reader An object that contains the data to set the parameter value to .
* @ param length the number of characters in the parameter data .
* @ throws SQLException if parameterIndex does not correspond to a parameter
* marker in the SQL statement ; if the length specified is less than zero ;
* if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support
* this method
* @ since 1 . 6
* /
void setNClob ( String parameterName , Reader reader , long length )
throws SQLException ;
/**
* Sets the designated parameter to a { @ code Reader } object .
* This method differs from the { @ code setCharacterStream ( int , Reader ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code NCLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be send to the server as a { @ code LONGNVARCHAR } or a { @ code NCLOB }
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setNClob } which takes a length parameter .
*
* @ param parameterName the name of the parameter
* @ param reader An object that contains the data to set the parameter value to .
* @ throws SQLException if the driver does not support national character sets ;
* if the driver can detect that a data conversion
* error could occur ; if a database access error occurs or
* this method is called on a closed { @ code CallableStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setNClob(String parameterName, Reader reader)
throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* The { @ code Reader } must contain the number
* of characters specified by length otherwise a { @ code SQLException } will be
* generated when the { @ code PreparedStatement } is executed .
* This method differs from the { @ code setCharacterStream ( int , Reader , int ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code NCLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGNVARCHAR } or a { @ code NCLOB }
* @ param parameterIndex index of the first parameter is 1 , the second is 2 , . . .
* @ param reader An object that contains the data to set the parameter value to .
* @ param length the number of characters in the parameter data .
* @ throws SQLException if parameterIndex does not correspond to a parameter
* marker in the SQL statement ; if the length specified is less than zero ;
* if the driver does not support national character sets ;
* if the driver can detect that a data conversion
* error could occur ; if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setNClob(int parameterIndex, Reader reader, long length)
throws SQLException;
/**
* Sets the designated parameter to a { @ code java . sql . NClob } object . The driver converts this to a
* SQL { @ code NCLOB } value when it sends it to the database .
* @ param parameterIndex of the first parameter is 1 , the second is 2 , . . .
* @ param value the parameter value
* @ throws SQLException if the driver does not support national
* character sets ; if the driver can detect that a data conversion
* error could occur ; or if a database access error occurs
* @ since 1 . 6
*/
void setNClob(int parameterIndex, NClob value) throws SQLException;
/**
* Sets the designated parameter to a { @ code Reader } object .
* This method differs from the { @ code setCharacterStream ( int , Reader ) } method
* because it informs the driver that the parameter value should be sent to
* the server as a { @ code NCLOB } . When the { @ code setCharacterStream } method is used , the
* driver may have to do extra work to determine whether the parameter
* data should be sent to the server as a { @ code LONGNVARCHAR } or a { @ code NCLOB }
* < P > < B > Note : < / B > Consult your JDBC driver documentation to determine if
* it might be more efficient to use a version of
* { @ code setNClob } which takes a length parameter .
*
* @ param parameterIndex index of the first parameter is 1 , the second is 2 , . . .
* @ param reader An object that contains the data to set the parameter value to .
* @ throws SQLException if parameterIndex does not correspond to a parameter
* marker in the SQL statement ;
* if the driver does not support national character sets ;
* if the driver can detect that a data conversion
* error could occur ; if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
*
* @ since 1 . 6
*/
void setNClob(int parameterIndex, Reader reader)
throws SQLException;
/**
* Sets the designated parameter to the given { @ code java . net . URL } value .
* The driver converts this to an SQL { @ code DATALINK } value
* when it sends it to the database .
*
* @ param parameterIndex the first parameter is 1 , the second is 2 , . . .
* @ param x the { @ code java . net . URL } object to be set
* @ throws SQLException if a database access error occurs or
* this method is called on a closed { @ code PreparedStatement }
* @ throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
* @ since 1 . 4
*/
void setURL(int parameterIndex, java.net.URL x) throws SQLException;
}
Messung V0.5 in Prozent C=95 H=44 G=73
¤ Dauer der Verarbeitung: 0.182 Sekunden
¤
*© Formatika GbR, Deutschland
2026-08-25
Neuigkeiten
Aktuelles
Motto des Tages
Open Source Software
Jenseits des Üblichen ....
Besucherstatistik
Statistik
#Sources=1019547
#Domains=890699