0N/A/*
3999N/A * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A
0N/Apackage com.sun.rowset;
0N/A
0N/Aimport java.sql.*;
0N/Aimport javax.sql.*;
0N/Aimport javax.naming.*;
0N/Aimport java.io.*;
0N/Aimport java.math.*;
0N/Aimport java.util.*;
0N/Aimport java.beans.*;
0N/A
0N/Aimport javax.sql.rowset.*;
0N/A
0N/A/**
0N/A * The standard implementation of the <code>JdbcRowSet</code> interface. See the interface
0N/A * defintion for full behavior and implementation requirements.
0N/A *
0N/A * @author Jonathan Bruce, Amit Handa
0N/A */
0N/A
0N/Apublic class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
0N/A
0N/A /**
0N/A * The <code>Connection</code> object that is this rowset's
0N/A * current connection to the database. This field is set
0N/A * internally when the connection is established.
0N/A */
0N/A private Connection conn;
0N/A
0N/A /**
0N/A * The <code>PreparedStatement</code> object that is this rowset's
0N/A * current command. This field is set internally when the method
0N/A * <code>execute</code> creates the <code>PreparedStatement</code>
0N/A * object.
0N/A */
0N/A private PreparedStatement ps;
0N/A
0N/A /**
0N/A * The <code>ResultSet</code> object that is this rowset's
0N/A * current result set. This field is set internally when the method
0N/A * <code>execute</code> executes the rowset's command and thereby
0N/A * creates the rowset's <code>ResultSet</code> object.
0N/A */
0N/A private ResultSet rs;
0N/A
0N/A /**
0N/A * The <code>RowSetMetaDataImpl</code> object that is contructed when
0N/A * a <code>ResultSet</code> object is passed to the <code>JdbcRowSet</code>
0N/A * constructor. This helps in constructing all metadata associated
0N/A * with the <code>ResultSet</code> object using the setter methods of
0N/A * <code>RowSetMetaDataImpl</code>.
0N/A */
0N/A private RowSetMetaDataImpl rowsMD;
0N/A
0N/A /**
0N/A * The <code>ResultSetMetaData</code> object from which this
0N/A * <code>RowSetMetaDataImpl</code> is formed and which helps in getting
0N/A * the metadata information.
0N/A */
0N/A private ResultSetMetaData resMD;
0N/A
0N/A /**
0N/A * The property that helps to fire the property changed event when certain
0N/A * properties are changed in the <code>JdbcRowSet</code> object. This property
0N/A * is being added to satisfy Rave requirements.
0N/A */
0N/A private PropertyChangeSupport propertyChangeSupport;
0N/A
0N/A /**
0N/A * The Vector holding the Match Columns
0N/A */
3999N/A private Vector<Integer> iMatchColumns;
0N/A
0N/A /**
0N/A * The Vector that will hold the Match Column names.
0N/A */
3999N/A private Vector<String> strMatchColumns;
0N/A
0N/A
2741N/A protected transient JdbcRowSetResourceBundle resBundle;
0N/A
0N/A /**
0N/A * Constructs a default <code>JdbcRowSet</code> object.
0N/A * The new instance of <code>JdbcRowSet</code> will serve as a proxy
0N/A * for the <code>ResultSet</code> object it creates, and by so doing,
0N/A * it will make it possible to use the result set as a JavaBeans
0N/A * component.
0N/A * <P>
0N/A * The following is true of a default <code>JdbcRowSet</code> instance:
0N/A * <UL>
0N/A * <LI>Does not show deleted rows
0N/A * <LI>Has no time limit for how long a driver may take to
0N/A * execute the rowset's command
0N/A * <LI>Has no limit for the number of rows it may contain
0N/A * <LI>Has no limit for the number of bytes a column may contain
0N/A * <LI>Has a scrollable cursor and does not show changes
0N/A * made by others
0N/A * <LI>Will not see uncommitted data (make "dirty" reads)
0N/A * <LI>Has escape processing turned on
0N/A * <LI>Has its connection's type map set to <code>null</code>
0N/A * <LI>Has an empty <code>Hashtable</code> object for storing any
0N/A * parameters that are set
0N/A * </UL>
0N/A * A newly created <code>JdbcRowSet</code> object must have its
0N/A * <code>execute</code> method invoked before other public methods
0N/A * are called on it; otherwise, such method calls will cause an
0N/A * exception to be thrown.
0N/A *
0N/A * @throws SQLException [1] if any of its public methods are called prior
0N/A * to calling the <code>execute</code> method; [2] if invalid JDBC driver
0N/A * properties are set or [3] if no connection to a data source exists.
0N/A */
0N/A public JdbcRowSetImpl() {
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A
0N/A try {
2741N/A resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
0N/A } catch(IOException ioe) {
0N/A throw new RuntimeException(ioe);
0N/A }
0N/A
0N/A propertyChangeSupport = new PropertyChangeSupport(this);
0N/A
0N/A initParams();
0N/A
0N/A // set the defaults
0N/A
0N/A try {
0N/A setShowDeleted(false);
0N/A } catch(SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setshowdeleted").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A setQueryTimeout(0);
0N/A } catch(SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setquerytimeout").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A setMaxRows(0);
0N/A } catch(SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setmaxrows").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A setMaxFieldSize(0);
0N/A } catch(SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setmaxfieldsize").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A setEscapeProcessing(true);
0N/A } catch(SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setescapeprocessing").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A setConcurrency(ResultSet.CONCUR_UPDATABLE);
0N/A } catch (SQLException sqle) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setconcurrency").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A setTypeMap(null);
0N/A
0N/A try {
0N/A setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
0N/A } catch(SQLException sqle){
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.settype").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A setReadOnly(true);
0N/A
0N/A try {
0N/A setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
0N/A } catch(SQLException sqle){
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.settransactionisolation").toString() +
0N/A sqle.getLocalizedMessage());
0N/A }
0N/A
0N/A //Instantiating the vector for MatchColumns
0N/A
3999N/A iMatchColumns = new Vector<Integer>(10);
0N/A for(int i = 0; i < 10 ; i++) {
2828N/A iMatchColumns.add(i,Integer.valueOf(-1));
0N/A }
0N/A
3999N/A strMatchColumns = new Vector<String>(10);
0N/A for(int j = 0; j < 10; j++) {
0N/A strMatchColumns.add(j,null);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Constructs a default <code>JdbcRowSet</code> object given a
0N/A * valid <code>Connection</code> object. The new
0N/A * instance of <code>JdbcRowSet</code> will serve as a proxy for
0N/A * the <code>ResultSet</code> object it creates, and by so doing,
0N/A * it will make it possible to use the result set as a JavaBeans
0N/A * component.
0N/A * <P>
0N/A * The following is true of a default <code>JdbcRowSet</code> instance:
0N/A * <UL>
0N/A * <LI>Does not show deleted rows
0N/A * <LI>Has no time limit for how long a driver may take to
0N/A * execute the rowset's command
0N/A * <LI>Has no limit for the number of rows it may contain
0N/A * <LI>Has no limit for the number of bytes a column may contain
0N/A * <LI>Has a scrollable cursor and does not show changes
0N/A * made by others
0N/A * <LI>Will not see uncommitted data (make "dirty" reads)
0N/A * <LI>Has escape processing turned on
0N/A * <LI>Has its connection's type map set to <code>null</code>
0N/A * <LI>Has an empty <code>Hashtable</code> object for storing any
0N/A * parameters that are set
0N/A * </UL>
0N/A * A newly created <code>JdbcRowSet</code> object must have its
0N/A * <code>execute</code> method invoked before other public methods
0N/A * are called on it; otherwise, such method calls will cause an
0N/A * exception to be thrown.
0N/A *
0N/A * @throws SQLException [1] if any of its public methods are called prior
0N/A * to calling the <code>execute</code> method, [2] if invalid JDBC driver
0N/A * properties are set, or [3] if no connection to a data source exists.
0N/A */
0N/A public JdbcRowSetImpl(Connection con) throws SQLException {
0N/A
0N/A conn = con;
0N/A ps = null;
0N/A rs = null;
0N/A
0N/A try {
2741N/A resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
0N/A } catch(IOException ioe) {
0N/A throw new RuntimeException(ioe);
0N/A }
0N/A
0N/A propertyChangeSupport = new PropertyChangeSupport(this);
0N/A
0N/A initParams();
0N/A // set the defaults
0N/A setShowDeleted(false);
0N/A setQueryTimeout(0);
0N/A setMaxRows(0);
0N/A setMaxFieldSize(0);
0N/A
0N/A setParams();
0N/A
0N/A setReadOnly(true);
0N/A setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
0N/A setEscapeProcessing(true);
0N/A setTypeMap(null);
0N/A
0N/A //Instantiating the vector for MatchColumns
0N/A
3999N/A iMatchColumns = new Vector<Integer>(10);
0N/A for(int i = 0; i < 10 ; i++) {
2828N/A iMatchColumns.add(i,Integer.valueOf(-1));
0N/A }
0N/A
3999N/A strMatchColumns = new Vector<String>(10);
0N/A for(int j = 0; j < 10; j++) {
0N/A strMatchColumns.add(j,null);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Constructs a default <code>JdbcRowSet</code> object using the
0N/A * URL, username, and password arguments supplied. The new
0N/A * instance of <code>JdbcRowSet</code> will serve as a proxy for
0N/A * the <code>ResultSet</code> object it creates, and by so doing,
0N/A * it will make it possible to use the result set as a JavaBeans
0N/A * component.
0N/A *
0N/A * <P>
0N/A * The following is true of a default <code>JdbcRowSet</code> instance:
0N/A * <UL>
0N/A * <LI>Does not show deleted rows
0N/A * <LI>Has no time limit for how long a driver may take to
0N/A * execute the rowset's command
0N/A * <LI>Has no limit for the number of rows it may contain
0N/A * <LI>Has no limit for the number of bytes a column may contain
0N/A * <LI>Has a scrollable cursor and does not show changes
0N/A * made by others
0N/A * <LI>Will not see uncommitted data (make "dirty" reads)
0N/A * <LI>Has escape processing turned on
0N/A * <LI>Has its connection's type map set to <code>null</code>
0N/A * <LI>Has an empty <code>Hashtable</code> object for storing any
0N/A * parameters that are set
0N/A * </UL>
0N/A *
0N/A * @param url - a JDBC URL for the database to which this <code>JdbcRowSet</code>
0N/A * object will be connected. The form for a JDBC URL is
0N/A * <code>jdbc:subprotocol:subname</code>.
0N/A * @param user - the database user on whose behalf the connection
0N/A * is being made
0N/A * @param password - the user's password
0N/A *
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public JdbcRowSetImpl(String url, String user, String password) throws SQLException {
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A
0N/A try {
2741N/A resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
0N/A } catch(IOException ioe) {
0N/A throw new RuntimeException(ioe);
0N/A }
0N/A
0N/A propertyChangeSupport = new PropertyChangeSupport(this);
0N/A
0N/A initParams();
0N/A
0N/A // Pass the arguments to BaseRowSet
0N/A // setter methods now.
0N/A
0N/A setUsername(user);
0N/A setPassword(password);
0N/A setUrl(url);
0N/A
0N/A // set the defaults
0N/A setShowDeleted(false);
0N/A setQueryTimeout(0);
0N/A setMaxRows(0);
0N/A setMaxFieldSize(0);
0N/A
0N/A // to ensure connection to a db call connect now
0N/A // and associate a conn with "this" object
0N/A // in this case.
0N/A conn = connect();
0N/A setParams();
0N/A
0N/A setReadOnly(true);
0N/A setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
0N/A setEscapeProcessing(true);
0N/A setTypeMap(null);
0N/A
0N/A //Instantiating the vector for MatchColumns
0N/A
3999N/A iMatchColumns = new Vector<Integer>(10);
0N/A for(int i = 0; i < 10 ; i++) {
2828N/A iMatchColumns.add(i,Integer.valueOf(-1));
0N/A }
0N/A
3999N/A strMatchColumns = new Vector<String>(10);
0N/A for(int j = 0; j < 10; j++) {
0N/A strMatchColumns.add(j,null);
0N/A }
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Constructs a <code>JdbcRowSet</code> object using the given valid
0N/A * <code>ResultSet</code> object. The new
0N/A * instance of <code>JdbcRowSet</code> will serve as a proxy for
0N/A * the <code>ResultSet</code> object, and by so doing,
0N/A * it will make it possible to use the result set as a JavaBeans
0N/A * component.
0N/A *
0N/A * <P>
0N/A * The following is true of a default <code>JdbcRowSet</code> instance:
0N/A * <UL>
0N/A * <LI>Does not show deleted rows
0N/A * <LI>Has no time limit for how long a driver may take to
0N/A * execute the rowset's command
0N/A * <LI>Has no limit for the number of rows it may contain
0N/A * <LI>Has no limit for the number of bytes a column may contain
0N/A * <LI>Has a scrollable cursor and does not show changes
0N/A * made by others
0N/A * <LI>Will not see uncommitted data (make "dirty" reads)
0N/A * <LI>Has escape processing turned on
0N/A * <LI>Has its connection's type map set to <code>null</code>
0N/A * <LI>Has an empty <code>Hashtable</code> object for storing any
0N/A * parameters that are set
0N/A * </UL>
0N/A *
0N/A * @param res a valid <code>ResultSet</code> object
0N/A *
0N/A * @throws SQLException if a database access occurs due to a non
0N/A * valid ResultSet handle.
0N/A */
0N/A public JdbcRowSetImpl(ResultSet res) throws SQLException {
0N/A
0N/A // A ResultSet handle encapsulates a connection handle.
0N/A // But there is no way we can retrieve a Connection handle
0N/A // from a ResultSet object.
0N/A // So to avoid any anomalies we keep the conn = null
0N/A // The passed rs handle will be a wrapper around for
0N/A // "this" object's all operations.
0N/A conn = null;
0N/A
0N/A ps = null;
0N/A
0N/A rs = res;
0N/A
0N/A try {
2741N/A resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
0N/A } catch(IOException ioe) {
0N/A throw new RuntimeException(ioe);
0N/A }
0N/A
0N/A propertyChangeSupport = new PropertyChangeSupport(this);
0N/A
0N/A initParams();
0N/A
0N/A // get the values from the resultset handle.
0N/A setShowDeleted(false);
0N/A setQueryTimeout(0);
0N/A setMaxRows(0);
0N/A setMaxFieldSize(0);
0N/A
0N/A setParams();
0N/A
0N/A setReadOnly(true);
0N/A setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
0N/A setEscapeProcessing(true);
0N/A setTypeMap(null);
0N/A
0N/A // Get a handle to ResultSetMetaData
0N/A // Construct RowSetMetaData out of it.
0N/A
0N/A resMD = rs.getMetaData();
0N/A
0N/A rowsMD = new RowSetMetaDataImpl();
0N/A
0N/A initMetaData(rowsMD, resMD);
0N/A
0N/A //Instantiating the vector for MatchColumns
0N/A
3999N/A iMatchColumns = new Vector<Integer>(10);
0N/A for(int i = 0; i < 10 ; i++) {
2828N/A iMatchColumns.add(i,Integer.valueOf(-1));
0N/A }
0N/A
3999N/A strMatchColumns = new Vector<String>(10);
0N/A for(int j = 0; j < 10; j++) {
0N/A strMatchColumns.add(j,null);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Initializes the given <code>RowSetMetaData</code> object with the values
0N/A * in the given <code>ResultSetMetaData</code> object.
0N/A *
0N/A * @param md the <code>RowSetMetaData</code> object for this
0N/A * <code>JdbcRowSetImpl</code> object, which will be set with
0N/A * values from rsmd
0N/A * @param rsmd the <code>ResultSetMetaData</code> object from which new
0N/A * values for md will be read
0N/A * @throws SQLException if an error occurs
0N/A */
0N/A protected void initMetaData(RowSetMetaData md, ResultSetMetaData rsmd) throws SQLException {
0N/A int numCols = rsmd.getColumnCount();
0N/A
0N/A md.setColumnCount(numCols);
0N/A for (int col=1; col <= numCols; col++) {
0N/A md.setAutoIncrement(col, rsmd.isAutoIncrement(col));
0N/A md.setCaseSensitive(col, rsmd.isCaseSensitive(col));
0N/A md.setCurrency(col, rsmd.isCurrency(col));
0N/A md.setNullable(col, rsmd.isNullable(col));
0N/A md.setSigned(col, rsmd.isSigned(col));
0N/A md.setSearchable(col, rsmd.isSearchable(col));
0N/A md.setColumnDisplaySize(col, rsmd.getColumnDisplaySize(col));
0N/A md.setColumnLabel(col, rsmd.getColumnLabel(col));
0N/A md.setColumnName(col, rsmd.getColumnName(col));
0N/A md.setSchemaName(col, rsmd.getSchemaName(col));
0N/A md.setPrecision(col, rsmd.getPrecision(col));
0N/A md.setScale(col, rsmd.getScale(col));
0N/A md.setTableName(col, rsmd.getTableName(col));
0N/A md.setCatalogName(col, rsmd.getCatalogName(col));
0N/A md.setColumnType(col, rsmd.getColumnType(col));
0N/A md.setColumnTypeName(col, rsmd.getColumnTypeName(col));
0N/A }
0N/A }
0N/A
0N/A
0N/A protected void checkState() throws SQLException {
0N/A
0N/A // If all the three i.e. conn, ps & rs are
0N/A // simultaneously null implies we are not connected
0N/A // to the db, implies undesirable state so throw exception
0N/A
0N/A if (conn == null && ps == null && rs == null ) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.invalstate").toString());
0N/A }
0N/A }
0N/A
0N/A //---------------------------------------------------------------------
0N/A // Reading and writing data
0N/A //---------------------------------------------------------------------
0N/A
0N/A /**
0N/A * Creates the internal <code>ResultSet</code> object for which this
0N/A * <code>JdbcRowSet</code> object is a wrapper, effectively
0N/A * making the result set a JavaBeans component.
0N/A * <P>
0N/A * Certain properties must have been set before this method is called
0N/A * so that it can establish a connection to a database and execute the
0N/A * query that will create the result set. If a <code>DataSource</code>
0N/A * object will be used to create the connection, properties for the
0N/A * data source name, user name, and password must be set. If the
0N/A * <code>DriverManager</code> will be used, the properties for the
0N/A * URL, user name, and password must be set. In either case, the
0N/A * property for the command must be set. If the command has placeholder
0N/A * parameters, those must also be set. This method throws
0N/A * an exception if the required properties are not set.
0N/A * <P>
0N/A * Other properties have default values that may optionally be set
0N/A * to new values. The <code>execute</code> method will use the value
0N/A * for the command property to create a <code>PreparedStatement</code>
0N/A * object and set its properties (escape processing, maximum field
0N/A * size, maximum number of rows, and query timeout limit) to be those
0N/A * of this rowset.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) any required JDBC properties are not set, or (3) if an
0N/A * invalid connection exists.
0N/A */
0N/A public void execute() throws SQLException {
0N/A /*
0N/A * To execute based on the properties:
0N/A * i) determine how to get a connection
0N/A * ii) prepare the statement
0N/A * iii) set the properties of the statement
0N/A * iv) parse the params. and set them
0N/A * v) execute the statement
0N/A *
0N/A * During all of this try to tolerate as many errors
0N/A * as possible, many drivers will not support all of
0N/A * the properties and will/should throw SQLException
0N/A * at us...
0N/A *
0N/A */
0N/A
0N/A prepare();
0N/A
0N/A // set the properties of our shiny new statement
0N/A setProperties(ps);
0N/A
0N/A
0N/A // set the parameters
0N/A decodeParams(getParams(), ps);
0N/A
0N/A
0N/A // execute the statement
0N/A rs = ps.executeQuery();
0N/A
0N/A
0N/A // notify listeners
0N/A notifyRowSetChanged();
0N/A
0N/A
0N/A }
0N/A
0N/A protected void setProperties(PreparedStatement ps) throws SQLException {
0N/A
0N/A try {
0N/A ps.setEscapeProcessing(getEscapeProcessing());
0N/A } catch (SQLException ex) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setescapeprocessing").toString() +
0N/A ex.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A ps.setMaxFieldSize(getMaxFieldSize());
0N/A } catch (SQLException ex) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setmaxfieldsize").toString() +
0N/A ex.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A ps.setMaxRows(getMaxRows());
0N/A } catch (SQLException ex) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setmaxrows").toString() +
0N/A ex.getLocalizedMessage());
0N/A }
0N/A
0N/A try {
0N/A ps.setQueryTimeout(getQueryTimeout());
0N/A } catch (SQLException ex) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.setquerytimeout").toString() +
0N/A ex.getLocalizedMessage());
0N/A }
0N/A
0N/A }
0N/A
0N/A // An alternate solution is required instead of having the
0N/A // connect method as protected.
0N/A // This is a work around to assist Rave Team
0N/A // :ah
0N/A
0N/A protected Connection connect() throws SQLException {
0N/A
0N/A // Get a JDBC connection.
0N/A
0N/A // First check for Connection handle object as such if
0N/A // "this" initialized using conn.
0N/A
0N/A if(conn != null) {
0N/A return conn;
0N/A
0N/A } else if (getDataSourceName() != null) {
0N/A
0N/A // Connect using JNDI.
0N/A try {
0N/A Context ctx = new InitialContext();
0N/A DataSource ds = (DataSource)ctx.lookup
0N/A (getDataSourceName());
0N/A //return ds.getConnection(getUsername(),getPassword());
0N/A
0N/A if(getUsername() != null && !getUsername().equals("")) {
0N/A return ds.getConnection(getUsername(),getPassword());
0N/A } else {
0N/A return ds.getConnection();
0N/A }
0N/A }
0N/A catch (javax.naming.NamingException ex) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.connect").toString());
0N/A }
0N/A
0N/A } else if (getUrl() != null) {
0N/A // Check only for getUrl() != null because
0N/A // user, passwd can be null
0N/A // Connect using the driver manager.
0N/A
0N/A return DriverManager.getConnection
0N/A (getUrl(), getUsername(), getPassword());
0N/A }
0N/A else {
0N/A return null;
0N/A }
0N/A
0N/A }
0N/A
0N/A
0N/A protected PreparedStatement prepare() throws SQLException {
0N/A // get a connection
0N/A conn = connect();
0N/A
0N/A try {
0N/A
3999N/A Map<String, Class<?>> aMap = getTypeMap();
0N/A if( aMap != null) {
0N/A conn.setTypeMap(aMap);
0N/A }
0N/A ps = conn.prepareStatement(getCommand(),ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
0N/A } catch (SQLException ex) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.prepare").toString() +
0N/A ex.getLocalizedMessage());
0N/A
0N/A if (ps != null)
0N/A ps.close();
0N/A if (conn != null)
0N/A conn.close();
0N/A
0N/A throw new SQLException(ex.getMessage());
0N/A }
0N/A
0N/A return ps;
0N/A }
0N/A
0N/A private void decodeParams(Object[] params, PreparedStatement ps)
0N/A throws SQLException {
0N/A
0N/A // There is a corresponding decodeParams in JdbcRowSetImpl
0N/A // which does the same as this method. This is a design flaw.
0N/A // Update the CachedRowsetReader.decodeParams when you update
0N/A // this method.
0N/A
0N/A // Adding the same comments to CachedRowsetReader.decodeParams.
0N/A
0N/A int arraySize;
0N/A Object[] param = null;
0N/A
0N/A for (int i=0; i < params.length; i++) {
0N/A if (params[i] instanceof Object[]) {
0N/A param = (Object[])params[i];
0N/A
0N/A if (param.length == 2) {
0N/A if (param[0] == null) {
0N/A ps.setNull(i + 1, ((Integer)param[1]).intValue());
0N/A continue;
0N/A }
0N/A
0N/A if (param[0] instanceof java.sql.Date ||
0N/A param[0] instanceof java.sql.Time ||
0N/A param[0] instanceof java.sql.Timestamp) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.detecteddate"));
0N/A if (param[1] instanceof java.util.Calendar) {
2741N/A System.err.println(resBundle.handleGetObject("jdbcrowsetimpl.detectedcalendar"));
0N/A ps.setDate(i + 1, (java.sql.Date)param[0],
0N/A (java.util.Calendar)param[1]);
0N/A continue;
0N/A }
0N/A else {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.paramtype").toString());
0N/A }
0N/A }
0N/A
0N/A if (param[0] instanceof Reader) {
0N/A ps.setCharacterStream(i + 1, (Reader)param[0],
0N/A ((Integer)param[1]).intValue());
0N/A continue;
0N/A }
0N/A
0N/A /*
0N/A * What's left should be setObject(int, Object, scale)
0N/A */
0N/A if (param[1] instanceof Integer) {
0N/A ps.setObject(i + 1, param[0], ((Integer)param[1]).intValue());
0N/A continue;
0N/A }
0N/A
0N/A } else if (param.length == 3) {
0N/A
0N/A if (param[0] == null) {
0N/A ps.setNull(i + 1, ((Integer)param[1]).intValue(),
0N/A (String)param[2]);
0N/A continue;
0N/A }
0N/A
0N/A if (param[0] instanceof java.io.InputStream) {
0N/A switch (((Integer)param[2]).intValue()) {
0N/A case JdbcRowSetImpl.UNICODE_STREAM_PARAM:
0N/A ps.setUnicodeStream(i + 1,
0N/A (java.io.InputStream)param[0],
0N/A ((Integer)param[1]).intValue());
0N/A case JdbcRowSetImpl.BINARY_STREAM_PARAM:
0N/A ps.setBinaryStream(i + 1,
0N/A (java.io.InputStream)param[0],
0N/A ((Integer)param[1]).intValue());
0N/A case JdbcRowSetImpl.ASCII_STREAM_PARAM:
0N/A ps.setAsciiStream(i + 1,
0N/A (java.io.InputStream)param[0],
0N/A ((Integer)param[1]).intValue());
0N/A default:
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.paramtype").toString());
0N/A }
0N/A }
0N/A
0N/A /*
0N/A * no point at looking at the first element now;
0N/A * what's left must be the setObject() cases.
0N/A */
0N/A if (param[1] instanceof Integer && param[2] instanceof Integer) {
0N/A ps.setObject(i + 1, param[0], ((Integer)param[1]).intValue(),
0N/A ((Integer)param[2]).intValue());
0N/A continue;
0N/A }
0N/A
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.paramtype").toString());
0N/A
0N/A } else {
0N/A // common case - this catches all SQL92 types
0N/A ps.setObject(i + 1, params[i]);
0N/A continue;
0N/A }
0N/A } else {
0N/A // Try to get all the params to be set here
0N/A ps.setObject(i + 1, params[i]);
0N/A
0N/A }
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor for this rowset's <code>ResultSet</code>
0N/A * object down one row from its current position.
0N/A * A <code>ResultSet</code> cursor is initially positioned
0N/A * before the first row; the first call to the method
0N/A * <code>next</code> makes the first row the current row; the
0N/A * second call makes the second row the current row, and so on.
0N/A *
0N/A * <P>If an input stream is open for the current row, a call
0N/A * to the method <code>next</code> will
0N/A * implicitly close it. A <code>ResultSet</code> object's
0N/A * warning chain is cleared when a new row is read.
0N/A *
0N/A * @return <code>true</code> if the new current row is valid;
0N/A * <code>false</code> if there are no more rows
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean next() throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.next();
0N/A notifyCursorMoved();
0N/A return b;
0N/A }
0N/A
0N/A /**
0N/A * Releases this rowset's <code>ResultSet</code> object's database and
0N/A * JDBC resources immediately instead of waiting for
0N/A * this to happen when it is automatically closed.
0N/A *
0N/A * <P><B>Note:</B> A <code>ResultSet</code> object
0N/A * is automatically closed by the
0N/A * <code>Statement</code> object that generated it when
0N/A * that <code>Statement</code> object is closed,
0N/A * re-executed, or is used to retrieve the next result from a
0N/A * sequence of multiple results. A <code>ResultSet</code> object
0N/A * is also automatically closed when it is garbage collected.
0N/A *
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public void close() throws SQLException {
0N/A if (rs != null)
0N/A rs.close();
0N/A if (ps != null)
0N/A ps.close();
0N/A if (conn != null)
0N/A conn.close();
0N/A }
0N/A
0N/A /**
0N/A * Reports whether the last column read from this rowset's
0N/A * <code>ResultSet</code> object had a value of SQL <code>NULL</code>.
0N/A * Note that you must first call one of the <code>getXXX</code> methods
0N/A * on a column to try to read its value and then call
0N/A * the method <code>wasNull</code> to see if the value read was
0N/A * SQL <code>NULL</code>.
0N/A *
0N/A * @return <code>true</code> if the last column value read was SQL
0N/A * <code>NULL</code> and <code>false</code> otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean wasNull() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.wasNull();
0N/A }
0N/A
0N/A //======================================================================
0N/A // Methods for accessing results by column index
0N/A //======================================================================
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>String</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public String getString(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getString(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>boolean</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>false</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean getBoolean(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBoolean(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>byte</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public byte getByte(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getByte(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>short</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public short getShort(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getShort(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * an <code>int</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getInt(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getInt(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>long</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public long getLong(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getLong(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>float</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public float getFloat(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getFloat(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>double</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public double getDouble(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getDouble(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.BigDecimal</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param scale the number of digits to the right of the decimal point
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A * @deprecated
0N/A */
0N/A public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBigDecimal(columnIndex, scale);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>byte</code> array in the Java programming language.
0N/A * The bytes represent the raw values returned by the driver.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public byte[] getBytes(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBytes(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Date</code> object in the Java programming language.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Date getDate(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getDate(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Time</code> object in the Java programming language.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Time getTime(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getTime(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Timestamp</code> object in the Java programming language.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Timestamp getTimestamp(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getTimestamp(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a stream of ASCII characters. The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values.
0N/A * The JDBC driver will
0N/A * do any necessary conversion from the database format into ASCII.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method
0N/A * <code>InputStream.available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream of one-byte ASCII characters;
0N/A * if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) database access error occurs
0N/A * (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.io.InputStream getAsciiStream(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getAsciiStream(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * as a stream of Unicode characters.
0N/A * The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large<code>LONGVARCHAR</code>values. The JDBC driver will
0N/A * do any necessary conversion from the database format into Unicode.
0N/A * The byte format of the Unicode stream must be Java UTF-8,
0N/A * as specified in the Java virtual machine specification.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method
0N/A * <code>InputStream.available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream in Java UTF-8 byte format;
0N/A * if the value is SQL <code>NULL</code>, the value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A * @deprecated use <code>getCharacterStream</code> in place of
0N/A * <code>getUnicodeStream</code>
0N/A */
0N/A public java.io.InputStream getUnicodeStream(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getUnicodeStream(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of a column in the current row as a stream of
0N/A * the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a binary stream of
0N/A * uninterpreted bytes. The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large <code>LONGVARBINARY</code> values.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method
0N/A * <code>InputStream.available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream of uninterpreted bytes;
0N/A * if the value is SQL <code>NULL</code>, the value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.io.InputStream getBinaryStream(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBinaryStream(columnIndex);
0N/A }
0N/A
0N/A
0N/A //======================================================================
0N/A // Methods for accessing results by column name
0N/A //======================================================================
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>String</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public String getString(String columnName) throws SQLException {
0N/A return getString(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>boolean</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>false</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean getBoolean(String columnName) throws SQLException {
0N/A return getBoolean(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>byte</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public byte getByte(String columnName) throws SQLException {
0N/A return getByte(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>short</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public short getShort(String columnName) throws SQLException {
0N/A return getShort(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * an <code>int</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getInt(String columnName) throws SQLException {
0N/A return getInt(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>long</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public long getLong(String columnName) throws SQLException {
0N/A return getLong(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>float</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public float getFloat(String columnName) throws SQLException {
0N/A return getFloat(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>double</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>0</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public double getDouble(String columnName) throws SQLException {
0N/A return getDouble(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.math.BigDecimal</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @param scale the number of digits to the right of the decimal point
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) adatabase access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A * @deprecated
0N/A */
0N/A public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException {
0N/A return getBigDecimal(findColumn(columnName), scale);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>byte</code> array in the Java programming language.
0N/A * The bytes represent the raw values returned by the driver.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public byte[] getBytes(String columnName) throws SQLException {
0N/A return getBytes(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Date</code> object in the Java programming language.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Date getDate(String columnName) throws SQLException {
0N/A return getDate(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Time</code> object in the Java programming language.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Time getTime(String columnName) throws SQLException {
0N/A return getTime(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * a <code>java.sql.Timestamp</code> object.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Timestamp getTimestamp(String columnName) throws SQLException {
0N/A return getTimestamp(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a stream of
0N/A * ASCII characters. The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values.
0N/A * The JDBC driver will
0N/A * do any necessary conversion from the database format into ASCII.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method <code>available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream of one-byte ASCII characters.
0N/A * If the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>.
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.io.InputStream getAsciiStream(String columnName) throws SQLException {
0N/A return getAsciiStream(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a stream of
0N/A * Unicode characters. The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values.
0N/A * The JDBC driver will
0N/A * do any necessary conversion from the database format into Unicode.
0N/A * The byte format of the Unicode stream must be Java UTF-8,
0N/A * as defined in the Java virtual machine specification.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method <code>available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream of two-byte Unicode characters.
0N/A * If the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>.
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A * @deprecated
0N/A */
0N/A public java.io.InputStream getUnicodeStream(String columnName) throws SQLException {
0N/A return getUnicodeStream(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a stream of uninterpreted
0N/A * <code>byte</code>s.
0N/A * The value can then be read in chunks from the
0N/A * stream. This method is particularly
0N/A * suitable for retrieving large <code>LONGVARBINARY</code>
0N/A * values.
0N/A *
0N/A * <P><B>Note:</B> All the data in the returned stream must be
0N/A * read prior to getting the value of any other column. The next
0N/A * call to a <code>getXXX</code> method implicitly closes the stream. Also, a
0N/A * stream may return <code>0</code> when the method <code>available</code>
0N/A * is called whether there is data available or not.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return a Java input stream that delivers the database column value
0N/A * as a stream of uninterpreted bytes;
0N/A * if the value is SQL <code>NULL</code>, the result is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.io.InputStream getBinaryStream(String columnName) throws SQLException {
0N/A return getBinaryStream(findColumn(columnName));
0N/A }
0N/A
0N/A
0N/A //=====================================================================
0N/A // Advanced features:
0N/A //=====================================================================
0N/A
0N/A /**
0N/A * Returns the first warning reported by calls on this rowset's
0N/A * <code>ResultSet</code> object.
0N/A * Subsequent warnings on this rowset's <code>ResultSet</code> object
0N/A * will be chained to the <code>SQLWarning</code> object that
0N/A * this method returns.
0N/A *
0N/A * <P>The warning chain is automatically cleared each time a new
0N/A * row is read.
0N/A *
0N/A * <P><B>Note:</B> This warning chain only covers warnings caused
0N/A * by <code>ResultSet</code> methods. Any warning caused by
0N/A * <code>Statement</code> methods
0N/A * (such as reading OUT parameters) will be chained on the
0N/A * <code>Statement</code> object.
0N/A *
0N/A * @return the first <code>SQLWarning</code> object reported or <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public SQLWarning getWarnings() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getWarnings();
0N/A }
0N/A
0N/A /**
0N/A * Clears all warnings reported on this rowset's <code>ResultSet</code> object.
0N/A * After this method is called, the method <code>getWarnings</code>
0N/A * returns <code>null</code> until a new warning is
0N/A * reported for this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void clearWarnings() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.clearWarnings();
0N/A }
0N/A
0N/A /**
0N/A * Gets the name of the SQL cursor used by this rowset's <code>ResultSet</code>
0N/A * object.
0N/A *
0N/A * <P>In SQL, a result table is retrieved through a cursor that is
0N/A * named. The current row of a result set can be updated or deleted
0N/A * using a positioned update/delete statement that references the
0N/A * cursor name. To insure that the cursor has the proper isolation
0N/A * level to support update, the cursor's <code>select</code> statement should be
0N/A * of the form 'select for update'. If the 'for update' clause is
0N/A * omitted, the positioned updates may fail.
0N/A *
0N/A * <P>The JDBC API supports this SQL feature by providing the name of the
0N/A * SQL cursor used by a <code>ResultSet</code> object.
0N/A * The current row of a <code>ResultSet</code> object
0N/A * is also the current row of this SQL cursor.
0N/A *
0N/A * <P><B>Note:</B> If positioned update is not supported, a
0N/A * <code>SQLException</code> is thrown.
0N/A *
0N/A * @return the SQL name for this rowset's <code>ResultSet</code> object's cursor
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) xthis rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public String getCursorName() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getCursorName();
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the number, types and properties of
0N/A * this rowset's <code>ResultSet</code> object's columns.
0N/A *
0N/A * @return the description of this rowset's <code>ResultSet</code>
0N/A * object's columns
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public ResultSetMetaData getMetaData() throws SQLException {
0N/A
0N/A checkState();
0N/A
0N/A // It may be the case that JdbcRowSet might not have been
0N/A // initialized with ResultSet handle and may be by PreparedStatement
0N/A // internally when we set JdbcRowSet.setCommand().
0N/A // We may require all the basic properties of setEscapeProcessing
0N/A // setMaxFieldSize etc. which an application can use before we call
0N/A // execute.
0N/A try {
0N/A checkState();
0N/A } catch(SQLException sqle) {
0N/A prepare();
0N/A // will return ResultSetMetaData
0N/A return ps.getMetaData();
0N/A }
0N/A return rs.getMetaData();
0N/A }
0N/A
0N/A /**
0N/A * <p>Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * an <code>Object</code>.
0N/A *
0N/A * <p>This method will return the value of the given column as a
0N/A * Java object. The type of the Java object will be the default
0N/A * Java object type corresponding to the column's SQL type,
0N/A * following the mapping for built-in types specified in the JDBC
0N/A * specification.
0N/A *
0N/A * <p>This method may also be used to read datatabase-specific
0N/A * abstract data types.
0N/A *
0N/A * In the JDBC 3.0 API, the behavior of method
0N/A * <code>getObject</code> is extended to materialize
0N/A * data of SQL user-defined types. When a column contains
0N/A * a structured or distinct value, the behavior of this method is as
0N/A * if it were a call to: <code>getObject(columnIndex,
0N/A * this.getStatement().getConnection().getTypeMap())</code>.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return a <code>java.lang.Object</code> holding the column value
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Object getObject(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getObject(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * <p>Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as
0N/A * an <code>Object</code>.
0N/A *
0N/A * <p>This method will return the value of the given column as a
0N/A * Java object. The type of the Java object will be the default
0N/A * Java object type corresponding to the column's SQL type,
0N/A * following the mapping for built-in types specified in the JDBC
0N/A * specification.
0N/A *
0N/A * <p>This method may also be used to read datatabase-specific
0N/A * abstract data types.
0N/A *
0N/A * In the JDBC 3.0 API, the behavior of the method
0N/A * <code>getObject</code> is extended to materialize
0N/A * data of SQL user-defined types. When a column contains
0N/A * a structured or distinct value, the behavior of this method is as
0N/A * if it were a call to: <code>getObject(columnIndex,
0N/A * this.getStatement().getConnection().getTypeMap())</code>.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return a <code>java.lang.Object</code> holding the column value
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Object getObject(String columnName) throws SQLException {
0N/A return getObject(findColumn(columnName));
0N/A }
0N/A
0N/A //----------------------------------------------------------------
0N/A
0N/A /**
0N/A * Maps the given <code>JdbcRowSetImpl</code> column name to its
0N/A * <code>JdbcRowSetImpl</code> column index and reflects this on
0N/A * the internal <code>ResultSet</code> object.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @return the column index of the given column name
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * (2) this rowset does not have a currently valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int findColumn(String columnName) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.findColumn(columnName);
0N/A }
0N/A
0N/A
0N/A //--------------------------JDBC 2.0-----------------------------------
0N/A
0N/A //---------------------------------------------------------------------
0N/A // Getters and Setters
0N/A //---------------------------------------------------------------------
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.io.Reader</code> object.
0N/A * @return a <code>java.io.Reader</code> object that contains the column
0N/A * value; if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code>.
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A *
0N/A */
0N/A public java.io.Reader getCharacterStream(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getCharacterStream(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.io.Reader</code> object.
0N/A *
0N/A * @return a <code>java.io.Reader</code> object that contains the column
0N/A * value; if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code>.
0N/A * @param columnName the name of the column
0N/A * @return the value in the specified column as a <code>java.io.Reader</code>
0N/A *
0N/A */
0N/A public java.io.Reader getCharacterStream(String columnName) throws SQLException {
0N/A return getCharacterStream(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.math.BigDecimal</code> with full precision.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @return the column value (full precision);
0N/A * if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code>.
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBigDecimal(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Gets the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.math.BigDecimal</code> with full precision.
0N/A *
0N/A * @param columnName the column name
0N/A * @return the column value (full precision);
0N/A * if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code>.
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public BigDecimal getBigDecimal(String columnName) throws SQLException {
0N/A return getBigDecimal(findColumn(columnName));
0N/A }
0N/A
0N/A //---------------------------------------------------------------------
0N/A // Traversal/Positioning
0N/A //---------------------------------------------------------------------
0N/A
0N/A /**
0N/A * Indicates whether the cursor is before the first row in
0N/A * this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @return <code>true</code> if the cursor is before the first row;
0N/A * <code>false</code> if the cursor is at any other position or the
0N/A * result set contains no rows
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean isBeforeFirst() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.isBeforeFirst();
0N/A }
0N/A
0N/A /**
0N/A * Indicates whether the cursor is after the last row in
0N/A * this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @return <code>true</code> if the cursor is after the last row;
0N/A * <code>false</code> if the cursor is at any other position or the
0N/A * result set contains no rows
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean isAfterLast() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.isAfterLast();
0N/A }
0N/A
0N/A /**
0N/A * Indicates whether the cursor is on the first row of
0N/A * this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @return <code>true</code> if the cursor is on the first row;
0N/A * <code>false</code> otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean isFirst() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.isFirst();
0N/A }
0N/A
0N/A /**
0N/A * Indicates whether the cursor is on the last row of
0N/A * this rowset's <code>ResultSet</code> object.
0N/A * Note: Calling the method <code>isLast</code> may be expensive
0N/A * because the JDBC driver
0N/A * might need to fetch ahead one row in order to determine
0N/A * whether the current row is the last row in the result set.
0N/A *
0N/A * @return <code>true</code> if the cursor is on the last row;
0N/A * <code>false</code> otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A *
0N/A */
0N/A public boolean isLast() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.isLast();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the front of
0N/A * this rowset's <code>ResultSet</code> object, just before the
0N/A * first row. This method has no effect if the result set contains no rows.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public void beforeFirst() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.beforeFirst();
0N/A notifyCursorMoved();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the end of
0N/A * this rowset's <code>ResultSet</code> object, just after the
0N/A * last row. This method has no effect if the result set contains no rows.
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public void afterLast() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.afterLast();
0N/A notifyCursorMoved();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the first row in
0N/A * this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @return <code>true</code> if the cursor is on a valid row;
0N/A * <code>false</code> if there are no rows in the result set
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean first() throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.first();
0N/A notifyCursorMoved();
0N/A return b;
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the last row in
0N/A * this rowset's <code>ResultSet</code> object.
0N/A *
0N/A * @return <code>true</code> if the cursor is on a valid row;
0N/A * <code>false</code> if there are no rows in the result set
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean last() throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.last();
0N/A notifyCursorMoved();
0N/A return b;
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the current row number. The first row is number 1, the
0N/A * second is number 2, and so on.
0N/A *
0N/A * @return the current row number; <code>0</code> if there is no current row
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getRow() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getRow();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the given row number in
0N/A * this rowset's internal <code>ResultSet</code> object.
0N/A *
0N/A * <p>If the row number is positive, the cursor moves to
0N/A * the given row number with respect to the
0N/A * beginning of the result set. The first row is row 1, the second
0N/A * is row 2, and so on.
0N/A *
0N/A * <p>If the given row number is negative, the cursor moves to
0N/A * an absolute row position with respect to
0N/A * the end of the result set. For example, calling the method
0N/A * <code>absolute(-1)</code> positions the
0N/A * cursor on the last row, calling the method <code>absolute(-2)</code>
0N/A * moves the cursor to the next-to-last row, and so on.
0N/A *
0N/A * <p>An attempt to position the cursor beyond the first/last row in
0N/A * the result set leaves the cursor before the first row or after
0N/A * the last row.
0N/A *
0N/A * <p><B>Note:</B> Calling <code>absolute(1)</code> is the same
0N/A * as calling <code>first()</code>. Calling <code>absolute(-1)</code>
0N/A * is the same as calling <code>last()</code>.
0N/A *
0N/A * @return <code>true</code> if the cursor is on the result set;
0N/A * <code>false</code> otherwise
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the row is <code>0</code>, (3) the result set
0N/A * type is <code>TYPE_FORWARD_ONLY</code>, or (4) this
0N/A * rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean absolute(int row) throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.absolute(row);
0N/A notifyCursorMoved();
0N/A return b;
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor a relative number of rows, either positive or negative.
0N/A * Attempting to move beyond the first/last row in the
0N/A * result set positions the cursor before/after the
0N/A * the first/last row. Calling <code>relative(0)</code> is valid, but does
0N/A * not change the cursor position.
0N/A *
0N/A * <p>Note: Calling the method <code>relative(1)</code>
0N/A * is different from calling the method <code>next()</code>
0N/A * because is makes sense to call <code>next()</code> when there
0N/A * is no current row,
0N/A * for example, when the cursor is positioned before the first row
0N/A * or after the last row of the result set.
0N/A *
0N/A * @return <code>true</code> if the cursor is on a row;
0N/A * <code>false</code> otherwise
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) there is no current row, (3) the result set
0N/A * type is <code>TYPE_FORWARD_ONLY</code>, or (4) this
0N/A * rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public boolean relative(int rows) throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.relative(rows);
0N/A notifyCursorMoved();
0N/A return b;
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the previous row in this
0N/A * <code>ResultSet</code> object.
0N/A *
0N/A * <p><B>Note:</B> Calling the method <code>previous()</code> is not the same as
0N/A * calling the method <code>relative(-1)</code> because it
0N/A * makes sense to call <code>previous()</code> when there is no current row.
0N/A *
0N/A * @return <code>true</code> if the cursor is on a valid row;
0N/A * <code>false</code> if it is off the result set
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A */
0N/A public boolean previous() throws SQLException {
0N/A checkState();
0N/A
0N/A boolean b = rs.previous();
0N/A notifyCursorMoved();
0N/A return b;
0N/A }
0N/A
0N/A /**
0N/A * Gives a hint as to the direction in which the rows in this
0N/A * <code>ResultSet</code> object will be processed.
0N/A * The initial value is determined by the
0N/A * <code>Statement</code> object
0N/A * that produced this rowset's <code>ResultSet</code> object.
0N/A * The fetch direction may be changed at any time.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) the result set type is <code>TYPE_FORWARD_ONLY</code>
0N/A * and the fetch direction is not <code>FETCH_FORWARD</code>,
0N/A * or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A * @see java.sql.Statement#setFetchDirection
0N/A */
0N/A public void setFetchDirection(int direction) throws SQLException {
0N/A checkState();
0N/A
0N/A rs.setFetchDirection(direction);
0N/A }
0N/A
0N/A /**
0N/A * Returns the fetch direction for this
0N/A * <code>ResultSet</code> object.
0N/A *
0N/A * @return the current fetch direction for this rowset's
0N/A * <code>ResultSet</code> object
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getFetchDirection() throws SQLException {
0N/A try {
0N/A checkState();
0N/A } catch(SQLException sqle) {
0N/A super.getFetchDirection();
0N/A }
0N/A return rs.getFetchDirection();
0N/A }
0N/A
0N/A /**
0N/A * Gives the JDBC driver a hint as to the number of rows that should
0N/A * be fetched from the database when more rows are needed for this
0N/A * <code>ResultSet</code> object.
0N/A * If the fetch size specified is zero, the JDBC driver
0N/A * ignores the value and is free to make its own best guess as to what
0N/A * the fetch size should be. The default value is set by the
0N/A * <code>Statement</code> object
0N/A * that created the result set. The fetch size may be changed at any time.
0N/A *
0N/A * @param rows the number of rows to fetch
0N/A * @throws SQLException if (1) a database access error occurs, (2) the
0N/A * condition <code>0 <= rows <= this.getMaxRows()</code> is not
0N/A * satisfied, or (3) this rowset does not currently have a valid
0N/A * connection, prepared statement, and result set
0N/A *
0N/A */
0N/A public void setFetchSize(int rows) throws SQLException {
0N/A checkState();
0N/A
0N/A rs.setFetchSize(rows);
0N/A }
0N/A
0N/A /**
0N/A *
0N/A * Returns the fetch size for this
0N/A * <code>ResultSet</code> object.
0N/A *
0N/A * @return the current fetch size for this rowset's <code>ResultSet</code> object
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getType() throws SQLException {
0N/A try {
0N/A checkState();
0N/A } catch(SQLException sqle) {
0N/A return super.getType();
0N/A }
0N/A
0N/A // If the ResultSet has not been created, then return the default type
0N/A // otherwise return the type from the ResultSet.
0N/A if(rs == null) {
0N/A return super.getType();
0N/A } else {
0N/A int rstype = rs.getType();
0N/A return rstype;
0N/A }
0N/A
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Returns the concurrency mode of this rowset's <code>ResultSet</code> object.
0N/A * The concurrency used is determined by the
0N/A * <code>Statement</code> object that created the result set.
0N/A *
0N/A * @return the concurrency type, either <code>CONCUR_READ_ONLY</code>
0N/A * or <code>CONCUR_UPDATABLE</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public int getConcurrency() throws SQLException {
0N/A try {
0N/A checkState();
0N/A } catch(SQLException sqle) {
0N/A super.getConcurrency();
0N/A }
0N/A return rs.getConcurrency();
0N/A }
0N/A
0N/A //---------------------------------------------------------------------
0N/A // Updates
0N/A //---------------------------------------------------------------------
0N/A
0N/A /**
0N/A * Indicates whether the current row has been updated. The value returned
0N/A * depends on whether or not the result set can detect updates.
0N/A *
0N/A * @return <code>true</code> if the row has been visibly updated
0N/A * by the owner or another, and updates are detected
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A * @see java.sql.DatabaseMetaData#updatesAreDetected
0N/A */
0N/A public boolean rowUpdated() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.rowUpdated();
0N/A }
0N/A
0N/A /**
0N/A * Indicates whether the current row has had an insertion.
0N/A * The value returned depends on whether or not this
0N/A * <code>ResultSet</code> object can detect visible inserts.
0N/A *
0N/A * @return <code>true</code> if a row has had an insertion
0N/A * and insertions are detected; <code>false</code> otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A * @see java.sql.DatabaseMetaData#insertsAreDetected
0N/A *
0N/A */
0N/A public boolean rowInserted() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.rowInserted();
0N/A }
0N/A
0N/A /**
0N/A * Indicates whether a row has been deleted. A deleted row may leave
0N/A * a visible "hole" in a result set. This method can be used to
0N/A * detect holes in a result set. The value returned depends on whether
0N/A * or not this rowset's <code>ResultSet</code> object can detect deletions.
0N/A *
0N/A * @return <code>true</code> if a row was deleted and deletions are detected;
0N/A * <code>false</code> otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A * @see java.sql.DatabaseMetaData#deletesAreDetected
0N/A */
0N/A public boolean rowDeleted() throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.rowDeleted();
0N/A }
0N/A
0N/A /**
0N/A * Gives a nullable column a null value.
0N/A *
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code>
0N/A * or <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void updateNull(int columnIndex) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateNull(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>boolean</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateBoolean(int columnIndex, boolean x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateBoolean(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>byte</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateByte(int columnIndex, byte x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateByte(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>short</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateShort(int columnIndex, short x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateShort(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>int</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void updateInt(int columnIndex, int x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateInt(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>long</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateLong(int columnIndex, long x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateLong(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>float</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateFloat(int columnIndex, float x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateFloat(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>double</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateDouble(int columnIndex, double x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateDouble(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.math.BigDecimal</code>
0N/A * value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateBigDecimal(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>String</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateString(int columnIndex, String x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateString(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>byte</code> array value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateBytes(int columnIndex, byte x[]) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateBytes(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Date</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateDate(int columnIndex, java.sql.Date x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateDate(columnIndex, x);
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Time</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateTime(int columnIndex, java.sql.Time x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateTime(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Timestamp</code>
0N/A * value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateTimestamp(int columnIndex, java.sql.Timestamp x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateTimestamp(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * (2) or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateAsciiStream(int columnIndex, java.io.InputStream x, int length) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateAsciiStream(columnIndex, x, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateBinaryStream(int columnIndex, java.io.InputStream x, int length) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateBinaryStream(columnIndex, x, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateCharacterStream(int columnIndex, java.io.Reader x, int length) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateCharacterStream(columnIndex, x, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>Object</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @param scale for <code>java.sql.Types.DECIMAl</code>
0N/A * or <code>java.sql.Types.NUMERIC</code> types,
0N/A * this is the number of digits after the decimal point. For all other
0N/A * types this value will be ignored.
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateObject(int columnIndex, Object x, int scale) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateObject(columnIndex, x, scale);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>Object</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateObject(int columnIndex, Object x) throws SQLException {
0N/A checkState();
0N/A
0N/A // To check the type and concurrency of the ResultSet
0N/A // to verify whether updates are possible or not
0N/A checkTypeConcurrency();
0N/A
0N/A rs.updateObject(columnIndex, x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>null</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public void updateNull(String columnName) throws SQLException {
0N/A updateNull(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>boolean</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateBoolean(String columnName, boolean x) throws SQLException {
0N/A updateBoolean(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>byte</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateByte(String columnName, byte x) throws SQLException {
0N/A updateByte(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>short</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateShort(String columnName, short x) throws SQLException {
0N/A updateShort(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>int</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateInt(String columnName, int x) throws SQLException {
0N/A updateInt(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>long</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateLong(String columnName, long x) throws SQLException {
0N/A updateLong(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>float </code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateFloat(String columnName, float x) throws SQLException {
0N/A updateFloat(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>double</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateDouble(String columnName, double x) throws SQLException {
0N/A updateDouble(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.BigDecimal</code>
0N/A * value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException {
0N/A updateBigDecimal(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>String</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateString(String columnName, String x) throws SQLException {
0N/A updateString(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>boolean</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * JDBC 2.0
0N/A *
0N/A * Updates a column with a byte array value.
0N/A *
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row, or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or <code>insertRow</code>
0N/A * methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateBytes(String columnName, byte x[]) throws SQLException {
0N/A updateBytes(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Date</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateDate(String columnName, java.sql.Date x) throws SQLException {
0N/A updateDate(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Time</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateTime(String columnName, java.sql.Time x) throws SQLException {
0N/A updateTime(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.Timestamp</code>
0N/A * value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateTimestamp(String columnName, java.sql.Timestamp x) throws SQLException {
0N/A updateTimestamp(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateAsciiStream(String columnName, java.io.InputStream x, int length) throws SQLException {
0N/A updateAsciiStream(findColumn(columnName), x, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateBinaryStream(String columnName, java.io.InputStream x, int length) throws SQLException {
0N/A updateBinaryStream(findColumn(columnName), x, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value.
0N/A * The <code>updateXXX</code> methods are used to update column values
0N/A * in the current row or the insert row. The <code>updateXXX</code>
0N/A * methods do not update the underlying database; instead the
0N/A * <code>updateRow</code> or <code>insertRow</code> methods are called
0N/A * to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param reader the new column <code>Reader</code> stream value
0N/A * @param length the length of the stream
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateCharacterStream(String columnName, java.io.Reader reader, int length) throws SQLException {
0N/A updateCharacterStream(findColumn(columnName), reader, length);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>Object</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @param scale for <code>java.sql.Types.DECIMAL</code>
0N/A * or <code>java.sql.Types.NUMERIC</code> types,
0N/A * this is the number of digits after the decimal point. For all other
0N/A * types this value will be ignored.
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateObject(String columnName, Object x, int scale) throws SQLException {
0N/A updateObject(findColumn(columnName), x, scale);
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an <code>Object</code> value.
0N/A * The <code>updateXXX</code> methods are used to update column values in the
0N/A * current row or the insert row. The <code>updateXXX</code> methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the new column value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A */
0N/A public void updateObject(String columnName, Object x) throws SQLException {
0N/A updateObject(findColumn(columnName), x);
0N/A }
0N/A
0N/A /**
0N/A * Inserts the contents of the insert row into this
0N/A * <code>ResultSet</code> object and into the database
0N/A * and also notifies listeners that a row has changed.
0N/A * The cursor must be on the insert row when this method is called.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this method is called when the cursor is not
0N/A * on the insert row, (3) not all non-nullable columns in
0N/A * the insert row have been given a value, or (4) this
0N/A * rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void insertRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.insertRow();
0N/A notifyRowChanged();
0N/A }
0N/A
0N/A /**
0N/A * Updates the underlying database with the new contents of the
0N/A * current row of this rowset's <code>ResultSet</code> object
0N/A * and notifies listeners that a row has changed.
0N/A * This method cannot be called when the cursor is on the insert row.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this method is called when the cursor is
0N/A * on the insert row, (3) the concurrency of the result
0N/A * set is <code>ResultSet.CONCUR_READ_ONLY</code>, or
0N/A * (4) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void updateRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.updateRow();
0N/A notifyRowChanged();
0N/A }
0N/A
0N/A /**
0N/A * Deletes the current row from this rowset's <code>ResultSet</code> object
0N/A * and from the underlying database and also notifies listeners that a row
0N/A * has changed. This method cannot be called when the cursor is on the insert
0N/A * row.
0N/A *
0N/A * @throws SQLException if a database access error occurs
0N/A * or if this method is called when the cursor is on the insert row
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this method is called when the cursor is before the
0N/A * first row, after the last row, or on the insert row,
0N/A * (3) the concurrency of this rowset's result
0N/A * set is <code>ResultSet.CONCUR_READ_ONLY</code>, or
0N/A * (4) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public void deleteRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.deleteRow();
0N/A notifyRowChanged();
0N/A }
0N/A
0N/A /**
0N/A * Refreshes the current row of this rowset's <code>ResultSet</code>
0N/A * object with its most recent value in the database. This method
0N/A * cannot be called when the cursor is on the insert row.
0N/A *
0N/A * <P>The <code>refreshRow</code> method provides a way for an
0N/A * application to explicitly tell the JDBC driver to refetch
0N/A * a row(s) from the database. An application may want to call
0N/A * <code>refreshRow</code> when caching or prefetching is being
0N/A * done by the JDBC driver to fetch the latest value of a row
0N/A * from the database. The JDBC driver may actually refresh multiple
0N/A * rows at once if the fetch size is greater than one.
0N/A *
0N/A * <P> All values are refetched subject to the transaction isolation
0N/A * level and cursor sensitivity. If <code>refreshRow</code> is called after
0N/A * calling an <code>updateXXX</code> method, but before calling
0N/A * the method <code>updateRow</code>, then the
0N/A * updates made to the row are lost. Calling the method
0N/A * <code>refreshRow</code> frequently will likely slow performance.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this method is called when the cursor is
0N/A * on the insert row, or (3) this rowset does not
0N/A * currently have a valid connection, prepared statement,
0N/A * and result set
0N/A *
0N/A */
0N/A public void refreshRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.refreshRow();
0N/A }
0N/A
0N/A /**
0N/A * Cancels the updates made to the current row in this
0N/A * <code>ResultSet</code> object and notifies listeners that a row
0N/A * has changed. This method may be called after calling an
0N/A * <code>updateXXX</code> method(s) and before calling
0N/A * the method <code>updateRow</code> to roll back
0N/A * the updates made to a row. If no updates have been made or
0N/A * <code>updateRow</code> has already been called, this method has no
0N/A * effect.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this method is called when the cursor is
0N/A * on the insert row, or (3) this rowset does not
0N/A * currently have a valid connection, prepared statement,
0N/A * and result set
0N/A */
0N/A public void cancelRowUpdates() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.cancelRowUpdates();
0N/A
0N/A notifyRowChanged();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the insert row. The current cursor position is
0N/A * remembered while the cursor is positioned on the insert row.
0N/A *
0N/A * The insert row is a special row associated with an updatable
0N/A * result set. It is essentially a buffer where a new row may
0N/A * be constructed by calling the <code>updateXXX</code> methods prior to
0N/A * inserting the row into the result set.
0N/A *
0N/A * Only the <code>updateXXX</code>, <code>getXXX</code>,
0N/A * and <code>insertRow</code> methods may be
0N/A * called when the cursor is on the insert row. All of the columns in
0N/A * a result set must be given a value each time this method is
0N/A * called before calling <code>insertRow</code>.
0N/A * An <code>updateXXX</code> method must be called before a
0N/A * <code>getXXX</code> method can be called on a column value.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this rowset's <code>ResultSet</code> object is
0N/A * not updatable, or (3) this rowset does not
0N/A * currently have a valid connection, prepared statement,
0N/A * and result set
0N/A *
0N/A */
0N/A public void moveToInsertRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.moveToInsertRow();
0N/A }
0N/A
0N/A /**
0N/A * Moves the cursor to the remembered cursor position, usually the
0N/A * current row. This method has no effect if the cursor is not on
0N/A * the insert row.
0N/A *
0N/A * @throws SQLException if (1) a database access error occurs,
0N/A * (2) this rowset's <code>ResultSet</code> object is
0N/A * not updatable, or (3) this rowset does not
0N/A * currently have a valid connection, prepared statement,
0N/A * and result set
0N/A */
0N/A public void moveToCurrentRow() throws SQLException {
0N/A checkState();
0N/A
0N/A rs.moveToCurrentRow();
0N/A }
0N/A
0N/A /**
0N/A * Returns the <code>Statement</code> object that produced this
0N/A * <code>ResultSet</code> object.
0N/A * If the result set was generated some other way, such as by a
0N/A * <code>DatabaseMetaData</code> method, this method returns
0N/A * <code>null</code>.
0N/A *
0N/A * @return the <code>Statment</code> object that produced
0N/A * this rowset's <code>ResultSet</code> object or <code>null</code>
0N/A * if the result set was produced some other way
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public java.sql.Statement getStatement() throws SQLException {
0N/A
0N/A if(rs != null)
0N/A {
0N/A return rs.getStatement();
0N/A } else {
0N/A return null;
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as an <code>Object</code>.
0N/A * This method uses the given <code>Map</code> object
0N/A * for the custom mapping of the
0N/A * SQL structured or distinct type that is being retrieved.
0N/A *
0N/A * @param i the first column is 1, the second is 2, and so on
0N/A * @param map a <code>java.util.Map</code> object that contains the mapping
0N/A * from SQL type names to classes in the Java programming language
0N/A * @return an <code>Object</code> in the Java programming language
0N/A * representing the SQL value
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Object getObject(int i, java.util.Map<String,Class<?>> map)
0N/A throws SQLException
0N/A {
0N/A checkState();
0N/A
0N/A return rs.getObject(i, map);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Ref</code> object.
0N/A *
0N/A * @param i the first column is 1, the second is 2, and so on
0N/A * @return a <code>Ref</code> object representing an SQL <code>REF</code> value
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Ref getRef(int i) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getRef(i);
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Blob</code> object.
0N/A *
0N/A * @param i the first column is 1, the second is 2, and so on
0N/A * @return a <code>Blob</code> object representing the SQL <code>BLOB</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Blob getBlob(int i) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getBlob(i);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Clob</code> object.
0N/A *
0N/A * @param i the first column is 1, the second is 2, and so on
0N/A * @return a <code>Clob</code> object representing the SQL <code>CLOB</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Clob getClob(int i) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getClob(i);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as an <code>Array</code> object.
0N/A *
0N/A * @param i the first column is 1, the second is 2, and so on.
0N/A * @return an <code>Array</code> object representing the SQL <code>ARRAY</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Array getArray(int i) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getArray(i);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as an <code>Object</code>.
0N/A * This method uses the specified <code>Map</code> object for
0N/A * custom mapping if appropriate.
0N/A *
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @param map a <code>java.util.Map</code> object that contains the mapping
0N/A * from SQL type names to classes in the Java programming language
0N/A * @return an <code>Object</code> representing the SQL
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Object getObject(String colName, java.util.Map<String,Class<?>> map)
0N/A throws SQLException
0N/A {
0N/A return getObject(findColumn(colName), map);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Ref</code> object.
0N/A *
0N/A * @param colName the column name
0N/A * @return a <code>Ref</code> object representing the SQL <code>REF</code> value in
0N/A * the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Ref getRef(String colName) throws SQLException {
0N/A return getRef(findColumn(colName));
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Blob</code> object.
0N/A *
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @return a <code>Blob</code> object representing the SQL <code>BLOB</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Blob getBlob(String colName) throws SQLException {
0N/A return getBlob(findColumn(colName));
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>Clob</code> object.
0N/A *
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @return a <code>Clob</code> object representing the SQL <code>CLOB</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Clob getClob(String colName) throws SQLException {
0N/A return getClob(findColumn(colName));
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as an <code>Array</code> object.
0N/A *
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @return an <code>Array</code> object representing the SQL <code>ARRAY</code>
0N/A * value in the specified column
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public Array getArray(String colName) throws SQLException {
0N/A return getArray(findColumn(colName));
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>java.sql.Date</code>
0N/A * object. This method uses the given calendar to construct an appropriate
0N/A * millisecond value for the date if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the date
0N/A * @return the column value as a <code>java.sql.Date</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>
0N/A * @throws SQLException if (1) a database access error occurs
0N/A * or (2) this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Date getDate(int columnIndex, Calendar cal) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getDate(columnIndex, cal);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>java.sql.Date</code>
0N/A * object. This method uses the given calendar to construct an appropriate
0N/A * millisecond value for the date if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnName the SQL name of the column from which to retrieve the value
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the date
0N/A * @return the column value as a <code>java.sql.Date</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A *
0N/A */
0N/A public java.sql.Date getDate(String columnName, Calendar cal) throws SQLException {
0N/A return getDate(findColumn(columnName), cal);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>java.sql.Time</code>
0N/A * object. This method uses the given calendar to construct an appropriate
0N/A * millisecond value for the date if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the time
0N/A * @return the column value as a <code>java.sql.Time</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code> in the Java programming language
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Time getTime(int columnIndex, Calendar cal) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getTime(columnIndex, cal);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a <code>java.sql.Time</code>
0N/A * object. This method uses the given calendar to construct an appropriate
0N/A * millisecond value for the date if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the time
0N/A * @return the column value as a <code>java.sql.Time</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code> in the Java programming language
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Time getTime(String columnName, Calendar cal) throws SQLException {
0N/A return getTime(findColumn(columnName), cal);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.sql.Timestamp</code> object.
0N/A * This method uses the given calendar to construct an appropriate millisecond
0N/A * value for the timestamp if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, and so on
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the timestamp
0N/A * @return the column value as a <code>java.sql.Timestamp</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
0N/A checkState();
0N/A
0N/A return rs.getTimestamp(columnIndex, cal);
0N/A }
0N/A
0N/A /**
0N/A * Returns the value of the designated column in the current row
0N/A * of this rowset's <code>ResultSet</code> object as a
0N/A * <code>java.sql.Timestamp</code> object.
0N/A * This method uses the given calendar to construct an appropriate millisecond
0N/A * value for the timestamp if the underlying database does not store
0N/A * timezone information.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @param cal the <code>java.util.Calendar</code> object
0N/A * to use in constructing the timestamp
0N/A * @return the column value as a <code>java.sql.Timestamp</code> object;
0N/A * if the value is SQL <code>NULL</code>,
0N/A * the value returned is <code>null</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * or this rowset does not currently have a valid connection,
0N/A * prepared statement, and result set
0N/A */
0N/A public java.sql.Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException {
0N/A return getTimestamp(findColumn(columnName), cal);
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>double</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnIndex the first column is <code>1</code>, the second
0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger
0N/A * and equal to or less than the number of columns in this rowset
0N/A * @param ref the new <code>Ref</code> column value
0N/A * @throws SQLException if (1) the given column index is out of bounds,
0N/A * (2) the cursor is not on one of this rowset's rows or its
0N/A * insert row, or (3) this rowset is
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateRef(int columnIndex, java.sql.Ref ref)
0N/A throws SQLException {
0N/A checkState();
0N/A rs.updateRef(columnIndex, ref);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>double</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnName a <code>String</code> object that must match the
0N/A * SQL name of a column in this rowset, ignoring case
0N/A * @param ref the new column value
0N/A * @throws SQLException if (1) the given column name does not match the
0N/A * name of a column in this rowset, (2) the cursor is not on
0N/A * one of this rowset's rows or its insert row, or (3) this
0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateRef(String columnName, java.sql.Ref ref)
0N/A throws SQLException {
0N/A updateRef(findColumn(columnName), ref);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>double</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnIndex the first column is <code>1</code>, the second
0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger
0N/A * and equal to or less than the number of columns in this rowset
0N/A * @param c the new column <code>Clob</code> value
0N/A * @throws SQLException if (1) the given column index is out of bounds,
0N/A * (2) the cursor is not on one of this rowset's rows or its
0N/A * insert row, or (3) this rowset is
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateClob(int columnIndex, Clob c) throws SQLException {
0N/A checkState();
0N/A rs.updateClob(columnIndex, c);
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>double</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnName a <code>String</code> object that must match the
0N/A * SQL name of a column in this rowset, ignoring case
0N/A * @param c the new column <code>Clob</code> value
0N/A * @throws SQLException if (1) the given column name does not match the
0N/A * name of a column in this rowset, (2) the cursor is not on
0N/A * one of this rowset's rows or its insert row, or (3) this
0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateClob(String columnName, Clob c) throws SQLException {
0N/A updateClob(findColumn(columnName), c);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>java.sql.Blob</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnIndex the first column is <code>1</code>, the second
0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger
0N/A * and equal to or less than the number of columns in this rowset
0N/A * @param b the new column <code>Blob</code> value
0N/A * @throws SQLException if (1) the given column index is out of bounds,
0N/A * (2) the cursor is not on one of this rowset's rows or its
0N/A * insert row, or (3) this rowset is
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateBlob(int columnIndex, Blob b) throws SQLException {
0N/A checkState();
0N/A rs.updateBlob(columnIndex, b);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>java.sql.Blob </code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnName a <code>String</code> object that must match the
0N/A * SQL name of a column in this rowset, ignoring case
0N/A * @param b the new column <code>Blob</code> value
0N/A * @throws SQLException if (1) the given column name does not match the
0N/A * name of a column in this rowset, (2) the cursor is not on
0N/A * one of this rowset's rows or its insert row, or (3) this
0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateBlob(String columnName, Blob b) throws SQLException {
0N/A updateBlob(findColumn(columnName), b);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>java.sql.Array</code> values.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnIndex the first column is <code>1</code>, the second
0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger
0N/A * and equal to or less than the number of columns in this rowset
0N/A * @param a the new column <code>Array</code> value
0N/A * @throws SQLException if (1) the given column index is out of bounds,
0N/A * (2) the cursor is not on one of this rowset's rows or its
0N/A * insert row, or (3) this rowset is
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateArray(int columnIndex, Array a) throws SQLException {
0N/A checkState();
0N/A rs.updateArray(columnIndex, a);
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated column in either the current row or the insert
0N/A * row of this <code>JdbcRowSetImpl</code> object with the given
0N/A * <code>java.sql.Array</code> value.
0N/A *
0N/A * This method updates a column value in either the current row or
0N/A * the insert row of this rowset, but it does not update the
0N/A * database. If the cursor is on a row in the rowset, the
0N/A * method {@link #updateRow} must be called to update the database.
0N/A * If the cursor is on the insert row, the method {@link #insertRow}
0N/A * must be called, which will insert the new row into both this rowset
0N/A * and the database. Both of these methods must be called before the
0N/A * cursor moves to another row.
0N/A *
0N/A * @param columnName a <code>String</code> object that must match the
0N/A * SQL name of a column in this rowset, ignoring case
0N/A * @param a the new column <code>Array</code> value
0N/A * @throws SQLException if (1) the given column name does not match the
0N/A * name of a column in this rowset, (2) the cursor is not on
0N/A * one of this rowset's rows or its insert row, or (3) this
0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A */
0N/A public void updateArray(String columnName, Array a) throws SQLException {
0N/A updateArray(findColumn(columnName), a);
0N/A }
0N/A
0N/A /**
0N/A * Provide interface coverage for getURL(int) in ResultSet->RowSet
0N/A */
0N/A public java.net.URL getURL(int columnIndex) throws SQLException {
0N/A checkState();
0N/A return rs.getURL(columnIndex);
0N/A }
0N/A
0N/A /**
0N/A * Provide interface coverage for getURL(String) in ResultSet->RowSet
0N/A */
0N/A public java.net.URL getURL(String columnName) throws SQLException {
0N/A return getURL(findColumn(columnName));
0N/A }
0N/A
0N/A /**
0N/A * Return the RowSetWarning object for the current row of a
0N/A * <code>JdbcRowSetImpl</code>
0N/A */
0N/A public RowSetWarning getRowSetWarnings() throws SQLException {
0N/A return null;
0N/A }
0N/A /**
0N/A * Unsets the designated parameter to the given int array.
0N/A * This was set using <code>setMatchColumn</code>
0N/A * as the column which will form the basis of the join.
0N/A * <P>
0N/A * The parameter value unset by this method should be same
0N/A * as was set.
0N/A *
0N/A * @param columnIdxes the index into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds or if the columnIdx is
0N/A * not the same as set using <code>setMatchColumn(int [])</code>
0N/A */
0N/A public void unsetMatchColumn(int[] columnIdxes) throws SQLException {
0N/A
0N/A int i_val;
0N/A for( int j= 0 ;j < columnIdxes.length; j++) {
0N/A i_val = (Integer.parseInt(iMatchColumns.get(j).toString()));
0N/A if(columnIdxes[j] != i_val) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols").toString());
0N/A }
0N/A }
0N/A
0N/A for( int i = 0;i < columnIdxes.length ;i++) {
2828N/A iMatchColumns.set(i,Integer.valueOf(-1));
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Unsets the designated parameter to the given String array.
0N/A * This was set using <code>setMatchColumn</code>
0N/A * as the column which will form the basis of the join.
0N/A * <P>
0N/A * The parameter value unset by this method should be same
0N/A * as was set.
0N/A *
0N/A * @param columnIdxes the index into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds or if the columnName is
0N/A * not the same as set using <code>setMatchColumn(String [])</code>
0N/A */
0N/A public void unsetMatchColumn(String[] columnIdxes) throws SQLException {
0N/A
0N/A for(int j = 0 ;j < columnIdxes.length; j++) {
0N/A if( !columnIdxes[j].equals(strMatchColumns.get(j)) ){
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols").toString());
0N/A }
0N/A }
0N/A
0N/A for(int i = 0 ; i < columnIdxes.length; i++) {
0N/A strMatchColumns.set(i,null);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the column name as <code>String</code> array
0N/A * that was set using <code>setMatchColumn(String [])</code>
0N/A * for this rowset.
0N/A *
0N/A * @return a <code>String</code> array object that contains the column names
0N/A * for the rowset which has this the match columns
0N/A *
0N/A * @throws SQLException if an error occurs or column name is not set
0N/A */
0N/A public String[] getMatchColumnNames() throws SQLException {
0N/A
0N/A String []str_temp = new String[strMatchColumns.size()];
0N/A
0N/A if( strMatchColumns.get(0) == null) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.setmatchcols").toString());
0N/A }
0N/A
0N/A strMatchColumns.copyInto(str_temp);
0N/A return str_temp;
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the column id as <code>int</code> array that was set using
0N/A * <code>setMatchColumn(int [])</code> for this rowset.
0N/A *
0N/A * @return a <code>int</code> array object that contains the column ids
0N/A * for the rowset which has this as the match columns.
0N/A *
0N/A * @throws SQLException if an error occurs or column index is not set
0N/A */
0N/A public int[] getMatchColumnIndexes() throws SQLException {
0N/A
0N/A Integer []int_temp = new Integer[iMatchColumns.size()];
0N/A int [] i_temp = new int[iMatchColumns.size()];
0N/A int i_val;
0N/A
0N/A i_val = ((Integer)iMatchColumns.get(0)).intValue();
0N/A
0N/A if( i_val == -1 ) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.setmatchcols").toString());
0N/A }
0N/A
0N/A
0N/A iMatchColumns.copyInto(int_temp);
0N/A
0N/A for(int i = 0; i < int_temp.length; i++) {
0N/A i_temp[i] = (int_temp[i]).intValue();
0N/A }
0N/A
0N/A return i_temp;
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given int array.
0N/A * This forms the basis of the join for the
0N/A * <code>JoinRowSet</code> as the column which will form the basis of the
0N/A * join.
0N/A * <P>
0N/A * The parameter value set by this method is stored internally and
0N/A * will be supplied as the appropriate parameter in this rowset's
0N/A * command when the method <code>getMatchColumnIndexes</code> is called.
0N/A *
0N/A * @param columnIdxes the indexes into this rowset
0N/A * object's internal representation of parameter values; the
0N/A * first parameter is 0, the second is 1, and so on; must be
0N/A * <code>0</code> or greater
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds
0N/A */
0N/A public void setMatchColumn(int[] columnIdxes) throws SQLException {
0N/A
0N/A for(int j = 0 ; j < columnIdxes.length; j++) {
0N/A if( columnIdxes[j] < 0 ) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols1").toString());
0N/A }
0N/A }
0N/A for(int i = 0 ;i < columnIdxes.length; i++) {
2828N/A iMatchColumns.add(i,Integer.valueOf(columnIdxes[i]));
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given String array.
0N/A * This forms the basis of the join for the
0N/A * <code>JoinRowSet</code> as the column which will form the basis of the
0N/A * join.
0N/A * <P>
0N/A * The parameter value set by this method is stored internally and
0N/A * will be supplied as the appropriate parameter in this rowset's
0N/A * command when the method <code>getMatchColumn</code> is called.
0N/A *
0N/A * @param columnNames the name of the column into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds
0N/A */
0N/A public void setMatchColumn(String[] columnNames) throws SQLException {
0N/A
0N/A for(int j = 0; j < columnNames.length; j++) {
0N/A if( columnNames[j] == null || columnNames[j].equals("")) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols2").toString());
0N/A }
0N/A }
0N/A for( int i = 0; i < columnNames.length; i++) {
0N/A strMatchColumns.add(i,columnNames[i]);
0N/A }
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>int</code>
0N/A * object. This forms the basis of the join for the
0N/A * <code>JoinRowSet</code> as the column which will form the basis of the
0N/A * join.
0N/A * <P>
0N/A * The parameter value set by this method is stored internally and
0N/A * will be supplied as the appropriate parameter in this rowset's
0N/A * command when the method <code>getMatchColumn</code> is called.
0N/A *
0N/A * @param columnIdx the index into this rowset
0N/A * object's internal representation of parameter values; the
0N/A * first parameter is 0, the second is 1, and so on; must be
0N/A * <code>0</code> or greater
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds
0N/A */
0N/A public void setMatchColumn(int columnIdx) throws SQLException {
0N/A // validate, if col is ok to be set
0N/A if(columnIdx < 0) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols1").toString());
0N/A } else {
0N/A // set iMatchColumn
2828N/A iMatchColumns.set(0, Integer.valueOf(columnIdx));
0N/A //strMatchColumn = null;
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>String</code>
0N/A * object. This forms the basis of the join for the
0N/A * <code>JoinRowSet</code> as the column which will form the basis of the
0N/A * join.
0N/A * <P>
0N/A * The parameter value set by this method is stored internally and
0N/A * will be supplied as the appropriate parameter in this rowset's
0N/A * command when the method <code>getMatchColumn</code> is called.
0N/A *
0N/A * @param columnName the name of the column into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds
0N/A */
0N/A public void setMatchColumn(String columnName) throws SQLException {
0N/A // validate, if col is ok to be set
2828N/A if(columnName == null || (columnName= columnName.trim()).equals("")) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.matchcols2").toString());
0N/A } else {
0N/A // set strMatchColumn
0N/A strMatchColumns.set(0, columnName);
0N/A //iMatchColumn = -1;
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Unsets the designated parameter to the given <code>int</code>
0N/A * object. This was set using <code>setMatchColumn</code>
0N/A * as the column which will form the basis of the join.
0N/A * <P>
0N/A * The parameter value unset by this method should be same
0N/A * as was set.
0N/A *
0N/A * @param columnIdx the index into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds or if the columnIdx is
0N/A * not the same as set using <code>setMatchColumn(int)</code>
0N/A */
0N/A public void unsetMatchColumn(int columnIdx) throws SQLException {
0N/A // check if we are unsetting the SAME column
2828N/A if(! iMatchColumns.get(0).equals(Integer.valueOf(columnIdx) ) ) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.unsetmatch").toString());
0N/A } else if(strMatchColumns.get(0) != null) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.usecolname").toString());
0N/A } else {
0N/A // that is, we are unsetting it.
2828N/A iMatchColumns.set(0, Integer.valueOf(-1));
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Unsets the designated parameter to the given <code>String</code>
0N/A * object. This was set using <code>setMatchColumn</code>
0N/A * as the column which will form the basis of the join.
0N/A * <P>
0N/A * The parameter value unset by this method should be same
0N/A * as was set.
0N/A *
0N/A * @param columnName the index into this rowset
0N/A * object's internal representation of parameter values
0N/A * @throws SQLException if an error occurs or the
0N/A * parameter index is out of bounds or if the columnName is
0N/A * not the same as set using <code>setMatchColumn(String)</code>
0N/A *
0N/A */
0N/A public void unsetMatchColumn(String columnName) throws SQLException {
0N/A // check if we are unsetting the same column
0N/A columnName = columnName.trim();
0N/A
0N/A if(!((strMatchColumns.get(0)).equals(columnName))) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.unsetmatch").toString());
0N/A } else if( ((Integer)(iMatchColumns.get(0))).intValue() > 0) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.usecolid").toString());
0N/A } else {
0N/A strMatchColumns.set(0, null); // that is, we are unsetting it.
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the <code>DatabaseMetaData</code> associated with
0N/A * the connection handle associated this this
0N/A * <code>JdbcRowSet</code> object.
0N/A *
0N/A * @return the <code>DatabaseMetadata</code> associated
0N/A * with the rowset's connection.
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public DatabaseMetaData getDatabaseMetaData() throws SQLException {
0N/A Connection con = connect();
0N/A return con.getMetaData();
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the <code>ParameterMetaData</code> associated with
0N/A * the connection handle associated this this
0N/A * <code>JdbcRowSet</code> object.
0N/A *
0N/A * @return the <code>ParameterMetadata</code> associated
0N/A * with the rowset's connection.
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public ParameterMetaData getParameterMetaData() throws SQLException {
0N/A prepare();
0N/A return (ps.getParameterMetaData());
0N/A }
0N/A
0N/A /**
0N/A * Commits all updates in this <code>JdbcRowSet</code> object by
0N/A * wrapping the internal <code>Connection</code> object and calling
0N/A * its <code>commit</code> method.
0N/A * This method sets this <code>JdbcRowSet</code> object's private field
0N/A * <code>rs</code> to <code>null</code> after saving its value to another
0N/A * object, but only if the <code>ResultSet</code>
0N/A * constant <code>HOLD_CURSORS_OVER_COMMIT</code> has not been set.
0N/A * (The field <code>rs</code> is this <code>JdbcRowSet</code> object's
0N/A * <code>ResultSet</code> object.)
0N/A *
0N/A * @throws SQLException if autoCommit is set to true or if a database
0N/A * access error occurs
0N/A */
0N/A public void commit() throws SQLException {
0N/A conn.commit();
0N/A
0N/A // Checking the holadbility value and making the result set handle null
0N/A // Added as per Rave requirements
0N/A
0N/A if( conn.getHoldability() != HOLD_CURSORS_OVER_COMMIT) {
0N/A ResultSet oldVal = rs;
0N/A rs = null;
0N/A // propertyChangeSupport.firePropertyChange("ResultSet",oldVal,rs);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Sets auto-commit on the internal <code>Connection</code> object with this
0N/A * <code>JdbcRowSet</code>
0N/A *
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public void setAutoCommit(boolean autoCommit) throws SQLException {
0N/A // The connection object should be there
0N/A // in order to commit the connection handle on or off.
0N/A
0N/A if(conn != null) {
0N/A conn.setAutoCommit(autoCommit);
0N/A } else {
0N/A // Coming here means the connection object is null.
0N/A // So generate a connection handle internally, since
0N/A // a JdbcRowSet is always connected to a db, it is fine
0N/A // to get a handle to the connection.
0N/A
0N/A // Get hold of a connection handle
0N/A // and change the autcommit as passesd.
0N/A conn = connect();
0N/A
0N/A // After setting the below the conn.getAutoCommit()
0N/A // should return the same value.
0N/A conn.setAutoCommit(autoCommit);
0N/A
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Returns the auto-commit status with this <code>JdbcRowSet</code>.
0N/A *
0N/A * @return true if auto commit is true; false otherwise
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public boolean getAutoCommit() throws SQLException {
0N/A return conn.getAutoCommit();
0N/A }
0N/A
0N/A /**
0N/A * Rolls back all the updates in this <code>JdbcRowSet</code> object by
0N/A * wrapping the internal <code>Connection</code> object and calling its
0N/A * <code>rollback</code> method.
0N/A * This method sets this <code>JdbcRowSet</code> object's private field
0N/A * <code>rs</code> to <code>null</code> after saving its value to another object.
0N/A * (The field <code>rs</code> is this <code>JdbcRowSet</code> object's
0N/A * internal <code>ResultSet</code> object.)
0N/A *
0N/A * @throws SQLException if autoCommit is set to true or a database
0N/A * access error occurs
0N/A */
0N/A public void rollback() throws SQLException {
0N/A conn.rollback();
0N/A
0N/A // Makes the result ste handle null after rollback
0N/A // Added as per Rave requirements
0N/A
0N/A ResultSet oldVal = rs;
0N/A rs = null;
0N/A // propertyChangeSupport.firePropertyChange("ResultSet", oldVal,rs);
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Rollbacks all the updates in the <code>JdbcRowSet</code> back to the
0N/A * last <code>Savepoint</code> transaction marker. Wraps the internal
0N/A * <code>Connection</code> object and call it's rollback method
0N/A *
0N/A * @param s the <code>Savepoint</code> transaction marker to roll the
0N/A * transaction to.
0N/A * @throws SQLException if autoCommit is set to true; or ia a database
0N/A * access error occurs
0N/A */
0N/A public void rollback(Savepoint s) throws SQLException {
0N/A conn.rollback(s);
0N/A }
0N/A
0N/A // Setting the ResultSet Type and Concurrency
0N/A protected void setParams() throws SQLException {
0N/A if(rs == null) {
0N/A setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
0N/A setConcurrency(ResultSet.CONCUR_UPDATABLE);
0N/A }
0N/A else {
0N/A setType(rs.getType());
0N/A setConcurrency(rs.getConcurrency());
0N/A }
0N/A }
0N/A
0N/A
0N/A // Checking ResultSet Type and Concurrency
0N/A private void checkTypeConcurrency() throws SQLException {
0N/A if(rs.getType() == TYPE_FORWARD_ONLY ||
0N/A rs.getConcurrency() == CONCUR_READ_ONLY) {
2741N/A throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.resnotupd").toString());
0N/A }
0N/A }
0N/A
0N/A // Returns a Connection Handle
0N/A // Added as per Rave requirements
0N/A
0N/A /**
0N/A * Gets this <code>JdbcRowSet</code> object's Connection property
0N/A *
0N/A *
0N/A * @return the <code>Connection</code> object associated with this rowset;
0N/A */
0N/A
0N/A protected Connection getConnection() {
0N/A return conn;
0N/A }
0N/A
0N/A // Sets the connection handle with the parameter
0N/A // Added as per rave requirements
0N/A
0N/A /**
0N/A * Sets this <code>JdbcRowSet</code> object's connection property
0N/A * to the given <code>Connection</code> object.
0N/A *
0N/A * @param connection the <code>Connection</code> object.
0N/A */
0N/A
0N/A protected void setConnection(Connection connection) {
0N/A conn = connection;
0N/A }
0N/A
0N/A // Returns a PreparedStatement Handle
0N/A // Added as per Rave requirements
0N/A
0N/A /**
0N/A * Gets this <code>JdbcRowSet</code> object's PreparedStatement property
0N/A *
0N/A *
0N/A * @return the <code>PreparedStatement</code> object associated with this rowset;
0N/A */
0N/A
0N/A protected PreparedStatement getPreparedStatement() {
0N/A return ps;
0N/A }
0N/A
0N/A //Sets the prepared statement handle to the parameter
0N/A // Added as per Rave requirements
0N/A
0N/A /**
0N/A * Sets this <code>JdbcRowSet</code> object's preparedtsatement property
0N/A * to the given <code>PreparedStatemennt</code> object.
0N/A *
0N/A * @param preparedStatement the <code>PreparedStatement</code> object
0N/A *
0N/A */
0N/A protected void setPreparedStatement(PreparedStatement preparedStatement) {
0N/A ps = preparedStatement;
0N/A }
0N/A
0N/A // Returns a ResultSet handle
0N/A // Added as per Rave requirements
0N/A
0N/A /**
0N/A * Gets this <code>JdbcRowSet</code> object's ResultSet property
0N/A *
0N/A *
0N/A * @return the <code>ResultSet</code> object associated with this rowset;
0N/A */
0N/A
0N/A protected ResultSet getResultSet() throws SQLException {
0N/A
0N/A checkState();
0N/A
0N/A return rs;
0N/A }
0N/A
0N/A // Sets the result set handle to the parameter
0N/A // Added as per Rave requirements
0N/A
0N/A /**
0N/A * Sets this <code>JdbcRowSet</code> object's resultset property
0N/A * to the given <code>ResultSet</code> object.
0N/A *
0N/A * @param resultSet the <code>ResultSet</code> object
0N/A *
0N/A */
0N/A protected void setResultSet(ResultSet resultSet) {
0N/A rs = resultSet;
0N/A }
0N/A
0N/A
0N/A // Over riding the setCommand from BaseRowSet for
0N/A // firing the propertyChangeSupport Event for
0N/A // Rave requirements when this property's value
0N/A // changes.
0N/A
0N/A /**
0N/A * Sets this <code>JdbcRowSet</code> object's <code>command</code> property to
0N/A * the given <code>String</code> object and clears the parameters, if any,
0N/A * that were set for the previous command. In addition,
0N/A * if the <code>command</code> property has previously been set to a
0N/A * non-null value and it is
0N/A * different from the <code>String</code> object supplied,
0N/A * this method sets this <code>JdbcRowSet</code> object's private fields
0N/A * <code>ps</code> and <code>rs</code> to <code>null</code>.
0N/A * (The field <code>ps</code> is its <code>PreparedStatement</code> object, and
0N/A * the field <code>rs</code> is its <code>ResultSet</code> object.)
0N/A * <P>
0N/A * The <code>command</code> property may not be needed if the <code>RowSet</code>
0N/A * object gets its data from a source that does not support commands,
0N/A * such as a spreadsheet or other tabular file.
0N/A * Thus, this property is optional and may be <code>null</code>.
0N/A *
0N/A * @param command a <code>String</code> object containing an SQL query
0N/A * that will be set as this <code>RowSet</code> object's command
0N/A * property; may be <code>null</code> but may not be an empty string
0N/A * @throws SQLException if an empty string is provided as the command value
0N/A * @see #getCommand
0N/A */
0N/A public void setCommand(String command) throws SQLException {
0N/A String oldVal;
0N/A
0N/A if (getCommand() != null) {
0N/A if(!getCommand().equals(command)) {
0N/A oldVal = getCommand();
0N/A super.setCommand(command);
0N/A ps = null;
0N/A rs = null;
0N/A propertyChangeSupport.firePropertyChange("command", oldVal,command);
0N/A }
0N/A }
0N/A else {
0N/A super.setCommand(command);
0N/A propertyChangeSupport.firePropertyChange("command", null,command);
0N/A }
0N/A }
0N/A
0N/A // Over riding the setDataSourceName from BaseRowSet for
0N/A // firing the propertyChangeSupport Event for
0N/A // Rave requirements when this property's values
0N/A // changes.
0N/A
0N/A /**
0N/A * Sets the <code>dataSourceName</code> property for this <code>JdbcRowSet</code>
0N/A * object to the given logical name and sets this <code>JdbcRowSet</code> object's
0N/A * Url property to <code>null</code>. In addition, if the <code>dataSourceName</code>
0N/A * property has previously been set and is different from the one supplied,
0N/A * this method sets this <code>JdbcRowSet</code> object's private fields
0N/A * <code>ps</code>, <code>rs</code>, and <code>conn</code> to <code>null</code>.
0N/A * (The field <code>ps</code> is its <code>PreparedStatement</code> object,
0N/A * the field <code>rs</code> is its <code>ResultSet</code> object, and
0N/A * the field <code>conn</code> is its <code>Connection</code> object.)
0N/A * <P>
0N/A * The name supplied to this method must have been bound to a
0N/A * <code>DataSource</code> object in a JNDI naming service so that an
0N/A * application can do a lookup using that name to retrieve the
0N/A * <code>DataSource</code> object bound to it. The <code>DataSource</code>
0N/A * object can then be used to establish a connection to the data source it
0N/A * represents.
0N/A * <P>
0N/A * Users should set either the Url property or the dataSourceName property.
0N/A * If both properties are set, the driver will use the property set most recently.
0N/A *
0N/A * @param dsName a <code>String</code> object with the name that can be supplied
0N/A * to a naming service based on JNDI technology to retrieve the
0N/A * <code>DataSource</code> object that can be used to get a connection;
0N/A * may be <code>null</code>
0N/A * @throws SQLException if there is a problem setting the
0N/A * <code>dataSourceName</code> property
0N/A * @see #getDataSourceName
0N/A */
0N/A public void setDataSourceName(String dsName) throws SQLException{
0N/A String oldVal;
0N/A
0N/A if(getDataSourceName() != null) {
0N/A if(!getDataSourceName().equals(dsName)) {
0N/A oldVal = getDataSourceName();
0N/A super.setDataSourceName(dsName);
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A propertyChangeSupport.firePropertyChange("dataSourceName",oldVal,dsName);
0N/A }
0N/A }
0N/A else {
0N/A super.setDataSourceName(dsName);
0N/A propertyChangeSupport.firePropertyChange("dataSourceName",null,dsName);
0N/A }
0N/A }
0N/A
0N/A // Over riding the setUrl from BaseRowSet for
0N/A // firing the propertyChangeSupport Event for
0N/A // Rave requirements when this property's values
0N/A // changes.
0N/A
0N/A /**
0N/A * Sets the Url property for this <code>JdbcRowSet</code> object
0N/A * to the given <code>String</code> object and sets the dataSource name
0N/A * property to <code>null</code>. In addition, if the Url property has
0N/A * previously been set to a non <code>null</code> value and its value
0N/A * is different from the value to be set,
0N/A * this method sets this <code>JdbcRowSet</code> object's private fields
0N/A * <code>ps</code>, <code>rs</code>, and <code>conn</code> to <code>null</code>.
0N/A * (The field <code>ps</code> is its <code>PreparedStatement</code> object,
0N/A * the field <code>rs</code> is its <code>ResultSet</code> object, and
0N/A * the field <code>conn</code> is its <code>Connection</code> object.)
0N/A * <P>
0N/A * The Url property is a JDBC URL that is used when
0N/A * the connection is created using a JDBC technology-enabled driver
0N/A * ("JDBC driver") and the <code>DriverManager</code>.
0N/A * The correct JDBC URL for the specific driver to be used can be found
0N/A * in the driver documentation. Although there are guidelines for for how
0N/A * a JDBC URL is formed,
0N/A * a driver vendor can specify any <code>String</code> object except
0N/A * one with a length of <code>0</code> (an empty string).
0N/A * <P>
0N/A * Setting the Url property is optional if connections are established using
0N/A * a <code>DataSource</code> object instead of the <code>DriverManager</code>.
0N/A * The driver will use either the URL property or the
0N/A * dataSourceName property to create a connection, whichever was
0N/A * specified most recently. If an application uses a JDBC URL, it
0N/A * must load a JDBC driver that accepts the JDBC URL before it uses the
0N/A * <code>RowSet</code> object to connect to a database. The <code>RowSet</code>
0N/A * object will use the URL internally to create a database connection in order
0N/A * to read or write data.
0N/A *
0N/A * @param url a <code>String</code> object that contains the JDBC URL
0N/A * that will be used to establish the connection to a database for this
0N/A * <code>RowSet</code> object; may be <code>null</code> but must not
0N/A * be an empty string
0N/A * @throws SQLException if an error occurs setting the Url property or the
0N/A * parameter supplied is a string with a length of <code>0</code> (an
0N/A * empty string)
0N/A * @see #getUrl
0N/A */
0N/A
0N/A public void setUrl(String url) throws SQLException {
0N/A String oldVal;
0N/A
0N/A if(getUrl() != null) {
0N/A if(!getUrl().equals(url)) {
0N/A oldVal = getUrl();
0N/A super.setUrl(url);
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A propertyChangeSupport.firePropertyChange("url", oldVal, url);
0N/A }
0N/A }
0N/A else {
0N/A super.setUrl(url);
0N/A propertyChangeSupport.firePropertyChange("url", null, url);
0N/A }
0N/A }
0N/A
0N/A // Over riding the setUsername from BaseRowSet for
0N/A // firing the propertyChangeSupport Event for
0N/A // Rave requirements when this property's values
0N/A // changes.
0N/A
0N/A /**
0N/A * Sets the username property for this <code>JdbcRowSet</code> object
0N/A * to the given user name. Because it
0N/A * is not serialized, the username property is set at run time before
0N/A * calling the method <code>execute</code>. In addition,
0N/A * if the <code>username</code> property is already set with a
0N/A * non-null value and that value is different from the <code>String</code>
0N/A * object to be set,
0N/A * this method sets this <code>JdbcRowSet</code> object's private fields
0N/A * <code>ps</code>, <code>rs</code>, and <code>conn</code> to <code>null</code>.
0N/A * (The field <code>ps</code> is its <code>PreparedStatement</code> object,
0N/A * <code>rs</code> is its <code>ResultSet</code> object, and
0N/A * <code>conn</code> is its <code>Connection</code> object.)
0N/A * Setting these fields to <code>null</code> ensures that only current
0N/A * values will be used.
0N/A *
0N/A * @param uname the <code>String</code> object containing the user name that
0N/A * is supplied to the data source to create a connection. It may be null.
0N/A * @see #getUsername
0N/A */
0N/A public void setUsername(String uname) {
0N/A String oldVal;
0N/A
0N/A if( getUsername() != null) {
0N/A if(!getUsername().equals(uname)) {
0N/A oldVal = getUsername();
0N/A super.setUsername(uname);
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A propertyChangeSupport.firePropertyChange("username",oldVal,uname);
0N/A }
0N/A }
0N/A else{
0N/A super.setUsername(uname);
0N/A propertyChangeSupport.firePropertyChange("username",null,uname);
0N/A }
0N/A }
0N/A
0N/A // Over riding the setPassword from BaseRowSet for
0N/A // firing the propertyChangeSupport Event for
0N/A // Rave requirements when this property's values
0N/A // changes.
0N/A
0N/A /**
0N/A * Sets the password property for this <code>JdbcRowSet</code> object
0N/A * to the given <code>String</code> object. Because it
0N/A * is not serialized, the password property is set at run time before
0N/A * calling the method <code>execute</code>. Its default valus is
0N/A * <code>null</code>. In addition,
0N/A * if the <code>password</code> property is already set with a
0N/A * non-null value and that value is different from the one being set,
0N/A * this method sets this <code>JdbcRowSet</code> object's private fields
0N/A * <code>ps</code>, <code>rs</code>, and <code>conn</code> to <code>null</code>.
0N/A * (The field <code>ps</code> is its <code>PreparedStatement</code> object,
0N/A * <code>rs</code> is its <code>ResultSet</code> object, and
0N/A * <code>conn</code> is its <code>Connection</code> object.)
0N/A * Setting these fields to <code>null</code> ensures that only current
0N/A * values will be used.
0N/A *
0N/A * @param password the <code>String</code> object that represents the password
0N/A * that must be supplied to the database to create a connection
0N/A */
0N/A public void setPassword(String password) {
0N/A String oldVal;
0N/A
0N/A if ( getPassword() != null) {
0N/A if(!getPassword().equals(password)) {
0N/A oldVal = getPassword();
0N/A super.setPassword(password);
0N/A conn = null;
0N/A ps = null;
0N/A rs = null;
0N/A propertyChangeSupport.firePropertyChange("password",oldVal,password);
0N/A }
0N/A }
0N/A else{
0N/A super.setPassword(password);
0N/A propertyChangeSupport.firePropertyChange("password",null,password);
0N/A }
0N/A }
0N/A
0N/A /**
0N/A * Sets the type for this <code>RowSet</code> object to the specified type.
0N/A * The default type is <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>.
0N/A *
0N/A * @param type one of the following constants:
0N/A * <code>ResultSet.TYPE_FORWARD_ONLY</code>,
0N/A * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
0N/A * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
0N/A * @throws SQLException if the parameter supplied is not one of the
0N/A * following constants:
0N/A * <code>ResultSet.TYPE_FORWARD_ONLY</code> or
0N/A * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>
0N/A * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
0N/A * @see #getConcurrency
0N/A * @see #getType
0N/A */
0N/A
0N/A public void setType(int type) throws SQLException {
0N/A
0N/A int oldVal;
0N/A
0N/A try {
0N/A oldVal = getType();
0N/A }catch(SQLException ex) {
0N/A oldVal = 0;
0N/A }
0N/A
0N/A if(oldVal != type) {
0N/A super.setType(type);
0N/A propertyChangeSupport.firePropertyChange("type",oldVal,type);
0N/A }
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Sets the concurrency for this <code>RowSet</code> object to
0N/A * the specified concurrency. The default concurrency for any <code>RowSet</code>
0N/A * object (connected or disconnected) is <code>ResultSet.CONCUR_UPDATABLE</code>,
0N/A * but this method may be called at any time to change the concurrency.
0N/A *
0N/A * @param concur one of the following constants:
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> or
0N/A * <code>ResultSet.CONCUR_UPDATABLE</code>
0N/A * @throws SQLException if the parameter supplied is not one of the
0N/A * following constants:
0N/A * <code>ResultSet.CONCUR_UPDATABLE</code> or
0N/A * <code>ResultSet.CONCUR_READ_ONLY</code>
0N/A * @see #getConcurrency
0N/A * @see #isReadOnly
0N/A */
0N/A public void setConcurrency(int concur) throws SQLException {
0N/A
0N/A int oldVal;
0N/A
0N/A try {
0N/A oldVal = getConcurrency();
0N/A }catch(NullPointerException ex) {
0N/A oldVal = 0;
0N/A }
0N/A
0N/A if(oldVal != concur) {
0N/A super.setConcurrency(concur);
0N/A propertyChangeSupport.firePropertyChange("concurrency",oldVal,concur);
0N/A }
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Sets the transaction isolation property for this JDBC <code>RowSet</code> object to the given
0N/A * constant. The DBMS will use this transaction isolation level for
0N/A * transactions if it can.
0N/A * <p>
0N/A * For <code>RowSet</code> implementations such as
0N/A * the <code>CachedRowSet</code> that operate in a disconnected environment,
0N/A * the <code>SyncProvider</code> object being used
0N/A * offers complementary locking and data integrity options. The
0N/A * options described below are pertinent only to connected <code>RowSet</code>
0N/A * objects (<code>JdbcRowSet</code> objects).
0N/A *
0N/A * @param transIso one of the following constants, listed in ascending order:
0N/A * <code>Connection.TRANSACTION_NONE</code>,
0N/A * <code>Connection.TRANSACTION_READ_UNCOMMITTED</code>,
0N/A * <code>Connection.TRANSACTION_READ_COMMITTED</code>,
0N/A * <code>Connection.TRANSACTION_REPEATABLE_READ</code>, or
0N/A * <code>Connection.TRANSACTION_SERIALIZABLE</code>
0N/A * @throws SQLException if the given parameter is not one of the Connection
0N/A * constants
0N/A * @see javax.sql.rowset.spi.SyncFactory
0N/A * @see javax.sql.rowset.spi.SyncProvider
0N/A * @see #getTransactionIsolation
0N/A */
0N/A public void setTransactionIsolation(int transIso) throws SQLException {
0N/A
0N/A int oldVal;
0N/A
0N/A try {
0N/A oldVal = getTransactionIsolation();
0N/A }catch(NullPointerException ex) {
0N/A oldVal = 0;
0N/A }
0N/A
0N/A if(oldVal != transIso) {
0N/A super.setTransactionIsolation(transIso);
0N/A propertyChangeSupport.firePropertyChange("transactionIsolation",oldVal,transIso);
0N/A }
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Sets the maximum number of rows that this <code>RowSet</code> object may contain to
0N/A * the given number. If this limit is exceeded, the excess rows are
0N/A * silently dropped.
0N/A *
0N/A * @param mRows an <code>int</code> indicating the current maximum number
0N/A * of rows; zero means that there is no limit
0N/A * @throws SQLException if an error occurs internally setting the
0N/A * maximum limit on the number of rows that a JDBC <code>RowSet</code> object
0N/A * can contain; or if <i>max</i> is less than <code>0</code>; or
0N/A * if <i>max</i> is less than the <code>fetchSize</code> of the
0N/A * <code>RowSet</code>
0N/A */
0N/A public void setMaxRows(int mRows) throws SQLException {
0N/A
0N/A int oldVal;
0N/A
0N/A try {
0N/A oldVal = getMaxRows();
0N/A }catch(NullPointerException ex) {
0N/A oldVal = 0;
0N/A }
0N/A
0N/A if(oldVal != mRows) {
0N/A super.setMaxRows(mRows);
0N/A propertyChangeSupport.firePropertyChange("maxRows",oldVal,mRows);
0N/A }
0N/A
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated <code>SQL XML</code> parameter as a
0N/A * <code>SQLXML</code> object in the Java programming language.
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @return a SQLXML object that maps an SQL XML value
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public SQLXML getSQLXML(int columnIndex) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated <code>SQL XML</code> parameter as a
0N/A * <code>SQLXML</code> object in the Java programming language.
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @return a SQLXML object that maps an SQL XML value
0N/A * @throws SQLException if a database access error occurs
0N/A */
0N/A public SQLXML getSQLXML(String colName) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row of this
0N/A * <code>ResultSet</code> object as a java.sql.RowId object in the Java
0N/A * programming language.
0N/A *
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @return the column value if the value is a SQL <code>NULL</code> the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public RowId getRowId(int columnIndex) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row of this
0N/A * <code>ResultSet</code> object as a java.sql.RowId object in the Java
0N/A * programming language.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @return the column value if the value is a SQL <code>NULL</code> the
0N/A * value returned is <code>null</code>
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public RowId getRowId(String columnName) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>RowId</code> value. The updater
0N/A * methods are used to update column values in the current row or the insert
0N/A * row. The updater methods do not update the underlying database; instead
0N/A * the <code>updateRow<code> or <code>insertRow</code> methods are called
0N/A * to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param x the column value
0N/A * @throws SQLException if a database access occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateRowId(int columnIndex, RowId x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>RowId</code> value. The updater
0N/A * methods are used to update column values in the current row or the insert
0N/A * row. The updater methods do not update the underlying database; instead
0N/A * the <code>updateRow<code> or <code>insertRow</code> methods are called
0N/A * to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param x the column value
0N/A * @throws SQLException if a database access occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateRowId(String columnName, RowId x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the holdability of this ResultSet object
0N/A * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
0N/A * @throws SQLException if a database error occurs
0N/A * @since 6.0
0N/A */
0N/A public int getHoldability() throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves whether this ResultSet object has been closed. A ResultSet is closed if the
0N/A * method close has been called on it, or if it is automatically closed.
0N/A * @return true if this ResultSet object is closed; false if it is still open
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public boolean isClosed() throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * This method is used for updating columns that support National Character sets.
0N/A * It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns.
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param nString the value for the column to be updated
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateNString(int columnIndex, String nString) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * This method is used for updating columns that support National Character sets.
0N/A * It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns.
0N/A * @param columnName name of the Column
0N/A * @param nString the value for the column to be updated
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateNString(String columnName, String nString) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /*o
0N/A * This method is used for updating SQL <code>NCLOB</code> type that maps
0N/A * to <code>java.sql.Types.NCLOB</code>
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param nClob the value for the column to be updated
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * This method is used for updating SQL <code>NCLOB</code> type that maps
0N/A * to <code>java.sql.Types.NCLOB</code>
0N/A * @param columnName name of the column
0N/A * @param nClob the value for the column to be updated
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public void updateNClob(String columnName, NClob nClob) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as a <code>NClob</code> object
0N/A * in the Java programming language.
0N/A *
0N/A * @param i the first column is 1, the second is 2, ...
0N/A * @return a <code>NClob</code> object representing the SQL
0N/A * <code>NCLOB</code> value in the specified column
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public NClob getNClob(int i) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as a <code>NClob</code> object
0N/A * in the Java programming language.
0N/A *
0N/A * @param colName the name of the column from which to retrieve the value
0N/A * @return a <code>NClob</code> object representing the SQL <code>NCLOB</code>
0N/A * value in the specified column
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 6.0
0N/A */
0N/A public NClob getNClob(String colName) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException{
0N/A return null;
0N/A }
0N/A
0N/A public boolean isWrapperFor(Class<?> interfaces) throws SQLException {
0N/A return false;
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an
0N/A * SQL <code>XML</code> value when it sends it to the database.
0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ...
0N/A * @param xmlObject a <code>SQLXML</code> object that maps an SQL <code>XML</code> value
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an
0N/A * <code>SQL XML</code> value when it sends it to the database.
0N/A * @param parameterName the name of the parameter
0N/A * @param xmlObject a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
0N/A * driver converts this to a SQL <code>ROWID</code> value when it sends it
0N/A * to the database
0N/A *
0N/A * @param parameterIndex the first parameter is 1, the second is 2, ...
0N/A * @param x the parameter value
0N/A * @throws SQLException if a database access error occurs
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setRowId(int parameterIndex, RowId x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
0N/A * driver converts this to a SQL <code>ROWID</code> when it sends it to the
0N/A * database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setRowId(String parameterName, RowId x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated paramter to the given <code>String</code> object.
0N/A * The driver converts this to a SQL <code>NCHAR</code> or
0N/A * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
0N/A * (depending on the argument's
0N/A * size relative to the driver's limits on <code>NVARCHAR</code> values)
0N/A * when it sends it to the database.
0N/A *
0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ...
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur ; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNString(int parameterIndex, String value) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter in this <code>RowSet</code> object's command
0N/A * to a <code>Reader</code> object. The
0N/A * <code>Reader</code> reads the data till end-of-file is reached. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setNCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ...
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur ; if a database access error occurs; or
0N/A * this method is called on a closed <code>PreparedStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>java.sql.NClob</code> object. The object
0N/A * implements the <code>java.sql.NClob</code> interface. This <code>NClob</code>
0N/A * object maps to a SQL <code>NCLOB</code>.
0N/A * @param parameterName the name of the column to be set
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(String parameterName, NClob value) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as a
0N/A * <code>java.io.Reader</code> object.
0N/A * It is intended for use when
0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * @return a <code>java.io.Reader</code> object that contains the column
0N/A * value; if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code> in the Java programming language.
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public java.io.Reader getNCharacterStream(int columnIndex) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as a
0N/A * <code>java.io.Reader</code> object.
0N/A * It is intended for use when
0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @return a <code>java.io.Reader</code> object that contains the column
0N/A * value; if the value is SQL <code>NULL</code>, the value returned is
0N/A * <code>null</code> in the Java programming language
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public java.io.Reader getNCharacterStream(String columnName) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.SQLXML</code> value.
0N/A * The updater
0N/A * methods are used to update column values in the current row or the insert
0N/A * row. The updater methods do not update the underlying database; instead
0N/A * the <code>updateRow</code> or <code>insertRow</code> methods are called
0N/A * to update the database.
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param xmlObject the value for the column to be updated
0N/A * @throws SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a <code>java.sql.SQLXML</code> value.
0N/A * The updater
0N/A * methods are used to update column values in the current row or the insert
0N/A * row. The updater methods do not update the underlying database; instead
0N/A * the <code>updateRow</code> or <code>insertRow</code> methods are called
0N/A * to update the database.
0N/A *
0N/A * @param columnName the name of the column
0N/A * @param xmlObject the column value
0N/A * @throws SQLException if a database access occurs
0N/A * @since 1.6
0N/A */
0N/A public void updateSQLXML(String columnName, SQLXML xmlObject) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as
0N/A * a <code>String</code> in the Java programming language.
0N/A * It is intended for use when
0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public String getNString(int columnIndex) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Retrieves the value of the designated column in the current row
0N/A * of this <code>ResultSet</code> object as
0N/A * a <code>String</code> in the Java programming language.
0N/A * It is intended for use when
0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * @param columnName the SQL name of the column
0N/A * @return the column value; if the value is SQL <code>NULL</code>, the
0N/A * value returned is <code>null</code>
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public String getNString(String columnName) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value, which will
0N/A * have the specified number of bytes. The driver does the necessary conversion
0N/A * from Java character format to the national character set in the database.
0N/A * It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns.
0N/A * The updater methods are used to update column values in the current row or
0N/A * the insert row. The updater methods do not update the underlying database;
0N/A * instead the updateRow or insertRow methods are called to update the database.
0N/A *
0N/A * @param columnIndex - the first column is 1, the second is 2, ...
0N/A * @param x - the new column value
0N/A * @param length - the length of the stream
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void updateNCharacterStream(int columnIndex,
0N/A java.io.Reader x,
0N/A long length)
0N/A throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value, which will
0N/A * have the specified number of bytes. The driver does the necessary conversion
0N/A * from Java character format to the national character set in the database.
0N/A * It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns.
0N/A * The updater methods are used to update column values in the current row or
0N/A * the insert row. The updater methods do not update the underlying database;
0N/A * instead the updateRow or insertRow methods are called to update the database.
0N/A *
0N/A * @param columnName - name of the Column
0N/A * @param x - the new column value
0N/A * @param length - the length of the stream
0N/A * @exception SQLException if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void updateNCharacterStream(String columnName,
0N/A java.io.Reader x,
0N/A long length)
0N/A throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A * It is intended for use when
0N/A * updating <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateNCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNCharacterStream(int columnIndex,
0N/A java.io.Reader x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A * It is intended for use when
0N/A * updating <code>NCHAR</code>,<code>NVARCHAR</code>
0N/A * and <code>LONGNVARCHAR</code> columns.
0N/A *
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateNCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param reader the <code>java.io.Reader</code> object containing
0N/A * the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNCharacterStream(String columnLabel,
0N/A java.io.Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given input stream, which
0N/A * will have the specified number of bytes.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @param length the number of bytes in the parameter data.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given input stream, which
0N/A * will have the specified number of bytes.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @param length the number of bytes in the parameter data.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given input stream.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateBlob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given input stream.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateBlob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object, which is the given number of characters long.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object, which is the given number of characters long.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateClob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateClob(int columnIndex, Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateClob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateClob(String columnLabel, Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object, which is the given number of characters long.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; this method is called on a closed result set,
0N/A * if a database access error occurs or
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object, which is the given number of characters long.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; this method is called on a closed result set;
0N/A * if a database access error occurs or
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateNClob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; this method is called on a closed result set,
0N/A * if a database access error occurs or
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNClob(int columnIndex, Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column using the given <code>Reader</code>
0N/A * object.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateNClob</code> which takes a length parameter.
0N/A * <p>
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; this method is called on a closed result set;
0N/A * if a database access error occurs or
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateNClob(String columnLabel, Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value, which will have
0N/A * the specified number of bytes.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateAsciiStream(int columnIndex,
0N/A java.io.InputStream x,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value, which will have
0N/A * the specified number of bytes.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBinaryStream(int columnIndex,
0N/A java.io.InputStream x,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value, which will have
0N/A * the specified number of bytes.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateCharacterStream(int columnIndex,
0N/A java.io.Reader x,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value, which will have
0N/A * the specified number of bytes..
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateAsciiStream(String columnLabel,
0N/A java.io.InputStream x,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateAsciiStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateAsciiStream(int columnIndex,
0N/A java.io.InputStream x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with an ascii stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateAsciiStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateAsciiStream(String columnLabel,
0N/A java.io.InputStream x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value, which will have
0N/A * the specified number of bytes.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param x the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBinaryStream(String columnLabel,
0N/A java.io.InputStream x,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateBinaryStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBinaryStream(int columnIndex,
0N/A java.io.InputStream x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Updates the designated column with a binary stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateBinaryStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateBinaryStream(String columnLabel,
0N/A java.io.InputStream x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value, which will have
0N/A * the specified number of bytes.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
0N/A * @param reader the <code>java.io.Reader</code> object containing
0N/A * the new column value
0N/A * @param length the length of the stream
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateCharacterStream(String columnLabel,
0N/A java.io.Reader reader,
0N/A long length) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnIndex the first column is 1, the second is 2, ...
0N/A * @param x the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateCharacterStream(int columnIndex,
0N/A java.io.Reader x) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Updates the designated column with a character stream value.
0N/A * The updater methods are used to update column values in the
0N/A * current row or the insert row. The updater methods do not
0N/A * update the underlying database; instead the <code>updateRow</code> or
0N/A * <code>insertRow</code> methods are called to update the database.
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>updateCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la
0N/Abel is the name of the column
0N/A * @param reader the <code>java.io.Reader</code> object containing
0N/A * the new column value
0N/A * @exception SQLException if a database access error occurs,
0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code>
0N/A * or this method is called on a closed result set
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void updateCharacterStream(String columnLabel,
0N/A java.io.Reader reader) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.net.URL</code> value.
0N/A * The driver converts this to an SQL <code>DATALINK</code> value
0N/A * when it sends it to the database.
0N/A *
0N/A * @param parameterIndex the first parameter is 1, the second is 2, ...
0N/A * @param x the <code>java.net.URL</code> object to be set
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>PreparedStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.4
0N/A */
0N/A public void setURL(int parameterIndex, java.net.URL x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object.
0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setNClob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement;
0N/A * if the driver does not support national character sets;
0N/A * if the driver can detect that a data conversion
0N/A * error could occur; if a database access error occurs or
0N/A * this method is called on a closed <code>PreparedStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(int parameterIndex, Reader reader)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The <code>reader</code> must contain the number
0N/A * of characters specified by length otherwise a <code>SQLException</code> will be
0N/A * generated when the <code>CallableStatement</code> is executed.
0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
0N/A *
0N/A * @param parameterName the name of the parameter to be set
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement; if the length specified is less than zero;
0N/A * if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(String parameterName, Reader reader, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object.
0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setNClob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if the driver does not support national character sets;
0N/A * if the driver can detect that a data conversion
0N/A * error could occur; if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(String parameterName, Reader reader)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A ** of characters specified by length otherwise a <code>SQLException</code> will becontain the number
0N/A * generated when the <code>PreparedStatement</code> is executed.
0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement; if the length specified is less than zero;
0N/A * if the driver does not support national character sets;
0N/A * if the driver can detect that a data conversion
0N/A * error could occur; if a database access error occurs or
0N/A * this method is called on a closed <code>PreparedStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(int parameterIndex, Reader reader, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>java.sql.NClob</code> object. The driver converts this to
0N/Aa
0N/A * SQL <code>NCLOB</code> value when it sends it to the database.
0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ...
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur ; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNClob(int parameterIndex, NClob value) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated paramter to the given <code>String</code> object.
0N/A * The driver converts this to a SQL <code>NCHAR</code> or
0N/A * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code>
0N/A * @param parameterName the name of the column to be set
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNString(String parameterName, String value)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The
0N/A * <code>Reader</code> reads the data till end-of-file is reached. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ...
0N/A * @param value the parameter value
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur ; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The
0N/A * <code>Reader</code> reads the data till end-of-file is reached. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A * @param parameterName the name of the column to be set
0N/A * @param value the parameter value
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur; or if a database access error occurs
0N/A * @since 1.6
0N/A */
0N/A public void setNCharacterStream(String parameterName, Reader value, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The
0N/A * <code>Reader</code> reads the data till end-of-file is reached. The
0N/A * driver does the necessary conversion from Java character format to
0N/A * the national character set in the database.
0N/A
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setNCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param value the parameter value
0N/A * @throws SQLException if the driver does not support national
0N/A * character sets; if the driver can detect that a data conversion
0N/A * error could occur ; if a database access error occurs; or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setNCharacterStream(String parameterName, Reader value) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value,
0N/A * using the given <code>Calendar</code> object. The driver uses
0N/A * the <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> value,
0N/A * which the driver then sends to the database. With a
0N/A * a <code>Calendar</code> object, the driver can calculate the timestamp
0N/A * taking into account a custom timezone. If no
0N/A * <code>Calendar</code> object is specified, the driver uses the default
0N/A * timezone, which is that of the virtual machine running the application.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @param cal the <code>Calendar</code> object the driver will use
0N/A * to construct the timestamp
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getTimestamp
0N/A * @since 1.4
0N/A */
0N/A public void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The <code>reader</code> must contain the number
0N/A * of characters specified by length otherwise a <code>SQLException</code> will be
0N/A * generated when the <code>CallableStatement</code> is executed.
0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
0N/A * @param parameterName the name of the parameter to be set
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement; if the length specified is less than zero;
0N/A * a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setClob(String parameterName, Reader reader, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Clob</code> object.
0N/A * The driver converts this to an SQL <code>CLOB</code> value when it
0N/A * sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void setClob (String parameterName, Clob x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object.
0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setClob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if a database access error occurs or this method is called on
0N/A * a closed <code>CallableStatement</code>
0N/A *
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setClob(String parameterName, Reader reader)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Date</code> value
0N/A * using the default time zone of the virtual machine that is running
0N/A * the application.
0N/A * The driver converts this
0N/A * to an SQL <code>DATE</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getDate
0N/A * @since 1.4
0N/A */
0N/A public void setDate(String parameterName, java.sql.Date x)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Date</code> value,
0N/A * using the given <code>Calendar</code> object. The driver uses
0N/A * the <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
0N/A * which the driver then sends to the database. With a
0N/A * a <code>Calendar</code> object, the driver can calculate the date
0N/A * taking into account a custom timezone. If no
0N/A * <code>Calendar</code> object is specified, the driver uses the default
0N/A * timezone, which is that of the virtual machine running the application.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @param cal the <code>Calendar</code> object the driver will use
0N/A * to construct the date
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getDate
0N/A * @since 1.4
0N/A */
0N/A public void setDate(String parameterName, java.sql.Date x, Calendar cal)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Time</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>TIME</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getTime
0N/A * @since 1.4
0N/A */
0N/A public void setTime(String parameterName, java.sql.Time x)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Time</code> value,
0N/A * using the given <code>Calendar</code> object. The driver uses
0N/A * the <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
0N/A * which the driver then sends to the database. With a
0N/A * a <code>Calendar</code> object, the driver can calculate the time
0N/A * taking into account a custom timezone. If no
0N/A * <code>Calendar</code> object is specified, the driver uses the default
0N/A * timezone, which is that of the virtual machine running the application.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @param cal the <code>Calendar</code> object the driver will use
0N/A * to construct the time
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getTime
0N/A * @since 1.4
0N/A */
0N/A public void setTime(String parameterName, java.sql.Time x, Calendar cal)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object.
0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setClob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @throws SQLException if a database access error occurs, this method is called on
0N/A * a closed <code>PreparedStatement</code>or if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement
0N/A *
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setClob(int parameterIndex, Reader reader)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>Reader</code> object. The reader must contain the number
0N/A * of characters specified by length otherwise a <code>SQLException</code> will be
0N/A * generated when the <code>PreparedStatement</code> is executed.
0N/A *This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
0N/A * because it informs the driver that the parameter value should be sent to
0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the
0N/A * driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ...
0N/A * @param reader An object that contains the data to set the parameter value to.
0N/A * @param length the number of characters in the parameter data.
0N/A * @throws SQLException if a database access error occurs, this method is called on
0N/A * a closed <code>PreparedStatement</code>, if parameterIndex does not correspond to a parameter
0N/A * marker in the SQL statement, or if the length specified is less than zero.
0N/A *
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setClob(int parameterIndex, Reader reader, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>InputStream</code> object. The inputstream must contain the number
0N/A * of characters specified by length otherwise a <code>SQLException</code> will be
0N/A * generated when the <code>PreparedStatement</code> is executed.
0N/A * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
0N/A * method because it informs the driver that the parameter value should be
0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used,
0N/A * the driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
0N/A * @param parameterIndex index of the first parameter is 1,
0N/A * the second is 2, ...
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @param length the number of bytes in the parameter data.
0N/A * @throws SQLException if a database access error occurs,
0N/A * this method is called on a closed <code>PreparedStatement</code>,
0N/A * if parameterIndex does not correspond
0N/A * to a parameter marker in the SQL statement, if the length specified
0N/A * is less than zero or if the number of bytes in the inputstream does not match
0N/A * the specfied length.
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setBlob(int parameterIndex, InputStream inputStream, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>InputStream</code> object.
0N/A * This method differs from the <code>setBinaryStream (int, InputStream)</code>
0N/A * This method differs from the <code>setBinaryStream (int, InputStream)</code>
0N/A * method because it informs the driver that the parameter value should be
0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used,
0N/A * the driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setBlob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterIndex index of the first parameter is 1,
0N/A * the second is 2, ...
0N/A
0N/A
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @throws SQLException if a database access error occurs,
0N/A * this method is called on a closed <code>PreparedStatement</code> or
0N/A * if parameterIndex does not correspond
0N/A * to a parameter marker in the SQL statement,
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setBlob(int parameterIndex, InputStream inputStream)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>InputStream</code> object. The <code>inputstream</code> must contain the number
0N/A * of characters specified by length, otherwise a <code>SQLException</code> will be
0N/A * generated when the <code>CallableStatement</code> is executed.
0N/A * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
0N/A * method because it informs the driver that the parameter value should be
0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used,
0N/A * the driver may have to do extra work to determine whether the parameter
0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
0N/A *
0N/A * @param parameterName the name of the parameter to be set
0N/A * the second is 2, ...
0N/A *
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @param length the number of bytes in the parameter data.
0N/A * @throws SQLException if parameterIndex does not correspond
0N/A * to a parameter marker in the SQL statement, or if the length specified
0N/A * is less than zero; if the number of bytes in the inputstream does not match
0N/A * the specfied length; if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setBlob(String parameterName, InputStream inputStream, long length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Blob</code> object.
0N/A * The driver converts this to an SQL <code>BLOB</code> value when it
0N/A * sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.6
0N/A */
0N/A public void setBlob (String parameterName, Blob x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to a <code>InputStream</code> object.
0N/A * This method differs from the <code>setBinaryStream (int, InputStream)</code>
0N/A * method because it informs the driver that the parameter value should be
0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used,
0N/A * the driver may have to do extra work to determine whether the parameter
0N/A * data should be send to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
0N/A *
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setBlob</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param inputStream An object that contains the data to set the parameter
0N/A * value to.
0N/A * @throws SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A *
0N/A * @since 1.6
0N/A */
0N/A public void setBlob(String parameterName, InputStream inputStream)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the value of the designated parameter with the given object. The second
0N/A * argument must be an object type; for integral values, the
0N/A * <code>java.lang</code> equivalent objects should be used.
0N/A *
0N/A * <p>The given Java object will be converted to the given targetSqlType
0N/A * before being sent to the database.
0N/A *
0N/A * If the object has a custom mapping (is of a class implementing the
0N/A * interface <code>SQLData</code>),
0N/A * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write it
0N/A * to the SQL data stream.
0N/A * If, on the other hand, the object is of a class implementing
0N/A * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>NClob</code>,
0N/A * <code>Struct</code>, <code>java.net.URL</code>,
0N/A * or <code>Array</code>, the driver should pass it to the database as a
0N/A * value of the corresponding SQL type.
0N/A * <P>
0N/A * Note that this method may be used to pass datatabase-
0N/A * specific abstract data types.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the object containing the input parameter value
0N/A * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
0N/A * sent to the database. The scale argument may further qualify this type.
0N/A * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
0N/A * this is the number of digits after the decimal point. For all other
0N/A * types, this value will be ignored.
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is
0N/A * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>,
0N/A * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>,
0N/A * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>,
0N/A * <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code>
0N/A * or <code>STRUCT</code> data type and the JDBC driver does not support
0N/A * this data type
0N/A * @see Types
0N/A * @see #getObject
0N/A * @since 1.4
0N/A */
0N/A public void setObject(String parameterName, Object x, int targetSqlType, int scale)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the value of the designated parameter with the given object.
0N/A * This method is like the method <code>setObject</code>
0N/A * above, except that it assumes a scale of zero.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the object containing the input parameter value
0N/A * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
0N/A * sent to the database
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is
0N/A * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>,
0N/A * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>,
0N/A * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>,
0N/A * <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code>
0N/A * or <code>STRUCT</code> data type and the JDBC driver does not support
0N/A * this data type
0N/A * @see #getObject
0N/A * @since 1.4
0N/A */
0N/A public void setObject(String parameterName, Object x, int targetSqlType)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the value of the designated parameter with the given object.
0N/A * The second parameter must be of type <code>Object</code>; therefore, the
0N/A * <code>java.lang</code> equivalent objects should be used for built-in types.
0N/A *
0N/A * <p>The JDBC specification specifies a standard mapping from
0N/A * Java <code>Object</code> types to SQL types. The given argument
0N/A * will be converted to the corresponding SQL type before being
0N/A * sent to the database.
0N/A *
0N/A * <p>Note that this method may be used to pass datatabase-
0N/A * specific abstract data types, by using a driver-specific Java
0N/A * type.
0N/A *
0N/A * If the object is of a class implementing the interface <code>SQLData</code>,
0N/A * the JDBC driver should call the method <code>SQLData.writeSQL</code>
0N/A * to write it to the SQL data stream.
0N/A * If, on the other hand, the object is of a class implementing
0N/A * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>NClob</code>,
0N/A * <code>Struct</code>, <code>java.net.URL</code>,
0N/A * or <code>Array</code>, the driver should pass it to the database as a
0N/A * value of the corresponding SQL type.
0N/A * <P>
0N/A * This method throws an exception if there is an ambiguity, for example, if the
0N/A * object is of a class implementing more than one of the interfaces named above.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the object containing the input parameter value
0N/A * @exception SQLException if a database access error occurs,
0N/A * this method is called on a closed <code>CallableStatement</code> or if the given
0N/A * <code>Object</code> parameter is ambiguous
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getObject
0N/A * @since 1.4
0N/A */
0N/A public void setObject(String parameterName, Object x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given input stream, which will have
0N/A * the specified number of bytes.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the Java input stream that contains the ASCII parameter value
0N/A * @param length the number of bytes in the stream
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setAsciiStream(String parameterName, java.io.InputStream x, int length)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A/**
0N/A * Sets the designated parameter to the given input stream, which will have
0N/A * the specified number of bytes.
0N/A * When a very large binary value is input to a <code>LONGVARBINARY</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the java input stream which contains the binary parameter value
0N/A * @param length the number of bytes in the stream
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setBinaryStream(String parameterName, java.io.InputStream x,
0N/A int length) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>Reader</code>
0N/A * object, which is the given number of characters long.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param reader the <code>java.io.Reader</code> object that
0N/A * contains the UNICODE data used as the designated parameter
0N/A * @param length the number of characters in the stream
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setCharacterStream(String parameterName,
0N/A java.io.Reader reader,
0N/A int length) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given input stream.
0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code>. Data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from ASCII to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setAsciiStream</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the Java input stream that contains the ASCII parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setAsciiStream(String parameterName, java.io.InputStream x)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given input stream.
0N/A * When a very large binary value is input to a <code>LONGVARBINARY</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.InputStream</code> object. The data will be read from the
0N/A * stream as needed until end-of-file is reached.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setBinaryStream</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the java input stream which contains the binary parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setBinaryStream(String parameterName, java.io.InputStream x)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>Reader</code>
0N/A * object.
0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
0N/A * parameter, it may be more practical to send it via a
0N/A * <code>java.io.Reader</code> object. The data will be read from the stream
0N/A * as needed until end-of-file is reached. The JDBC driver will
0N/A * do any necessary conversion from UNICODE to the database char format.
0N/A *
0N/A * <P><B>Note:</B> This stream object can either be a standard
0N/A * Java stream object or your own subclass that implements the
0N/A * standard interface.
0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
0N/A * it might be more efficient to use a version of
0N/A * <code>setCharacterStream</code> which takes a length parameter.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param reader the <code>java.io.Reader</code> object that contains the
0N/A * Unicode data
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method
0N/A * @since 1.6
0N/A */
0N/A public void setCharacterStream(String parameterName,
0N/A java.io.Reader reader) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given
0N/A * <code>java.math.BigDecimal</code> value.
0N/A * The driver converts this to an SQL <code>NUMERIC</code> value when
0N/A * it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getBigDecimal
0N/A * @since 1.4
0N/A */
0N/A public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>String</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> value
0N/A * (depending on the argument's
0N/A * size relative to the driver's limits on <code>VARCHAR</code> values)
0N/A * when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getString
0N/A * @since 1.4
0N/A */
0N/A public void setString(String parameterName, String x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java array of bytes.
0N/A * The driver converts this to an SQL <code>VARBINARY</code> or
0N/A * <code>LONGVARBINARY</code> (depending on the argument's size relative
0N/A * to the driver's limits on <code>VARBINARY</code> values) when it sends
0N/A * it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getBytes
0N/A * @since 1.4
0N/A */
0N/A public void setBytes(String parameterName, byte x[]) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value.
0N/A * The driver
0N/A * converts this to an SQL <code>TIMESTAMP</code> value when it sends it to the
0N/A * database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getTimestamp
0N/A * @since 1.4
0N/A */
0N/A public void setTimestamp(String parameterName, java.sql.Timestamp x)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to SQL <code>NULL</code>.
0N/A *
0N/A * <P><B>Note:</B> You must specify the parameter's SQL type.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param sqlType the SQL type code defined in <code>java.sql.Types</code>
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setNull(String parameterName, int sqlType) throws SQLException {
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to SQL <code>NULL</code>.
0N/A * This version of the method <code>setNull</code> should
0N/A * be used for user-defined types and REF type parameters. Examples
0N/A * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and
0N/A * named array types.
0N/A *
0N/A * <P><B>Note:</B> To be portable, applications must give the
0N/A * SQL type code and the fully-qualified SQL type name when specifying
0N/A * a NULL user-defined or REF parameter. In the case of a user-defined type
0N/A * the name is the type name of the parameter itself. For a REF
0N/A * parameter, the name is the type name of the referenced type. If
0N/A * a JDBC driver does not need the type code or type name information,
0N/A * it may ignore it.
0N/A *
0N/A * Although it is intended for user-defined and Ref parameters,
0N/A * this method may be used to set a null parameter of any JDBC type.
0N/A * If the parameter does not have a user-defined or REF type, the given
0N/A * typeName is ignored.
0N/A *
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param sqlType a value from <code>java.sql.Types</code>
0N/A * @param typeName the fully-qualified name of an SQL user-defined type;
0N/A * ignored if the parameter is not a user-defined type or
0N/A * SQL <code>REF</code> value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setNull (String parameterName, int sqlType, String typeName)
0N/A throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>boolean</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>BIT</code> or <code>BOOLEAN</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @see #getBoolean
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @since 1.4
0N/A */
0N/A public void setBoolean(String parameterName, boolean x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>byte</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>TINYINT</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getByte
0N/A * @since 1.4
0N/A */
0N/A public void setByte(String parameterName, byte x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>short</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>SMALLINT</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getShort
0N/A * @since 1.4
0N/A */
0N/A public void setShort(String parameterName, short x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>int</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>INTEGER</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getInt
0N/A * @since 1.4
0N/A */
0N/A public void setInt(String parameterName, int x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>long</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>BIGINT</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getLong
0N/A * @since 1.4
0N/A */
0N/A public void setLong(String parameterName, long x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>float</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>FLOAT</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getFloat
0N/A * @since 1.4
0N/A */
0N/A public void setFloat(String parameterName, float x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * Sets the designated parameter to the given Java <code>double</code> value.
0N/A * The driver converts this
0N/A * to an SQL <code>DOUBLE</code> value when it sends it to the database.
0N/A *
0N/A * @param parameterName the name of the parameter
0N/A * @param x the parameter value
0N/A * @exception SQLException if a database access error occurs or
0N/A * this method is called on a closed <code>CallableStatement</code>
0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
0N/A * this method
0N/A * @see #getDouble
0N/A * @since 1.4
0N/A */
0N/A public void setDouble(String parameterName, double x) throws SQLException{
2741N/A throw new SQLFeatureNotSupportedException(resBundle.handleGetObject("jdbcrowsetimpl.featnotsupp").toString());
0N/A }
0N/A
0N/A /**
0N/A * This method re populates the resBundle
0N/A * during the deserialization process
0N/A *
0N/A */
2741N/A private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
0N/A // Default state initialization happens here
0N/A ois.defaultReadObject();
0N/A // Initialization of transient Res Bundle happens here .
0N/A try {
2741N/A resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
0N/A } catch(IOException ioe) {}
0N/A
0N/A }
0N/A
0N/A static final long serialVersionUID = -3591946023893483003L;
2751N/A
2751N/A //------------------------- JDBC 4.1 -----------------------------------
2751N/A
2751N/A public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
2751N/A throw new SQLFeatureNotSupportedException("Not supported yet.");
2751N/A }
2751N/A
2751N/A public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
2751N/A throw new SQLFeatureNotSupportedException("Not supported yet.");
2751N/A }
0N/A}