151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski/*
251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * This code is free software; you can redistribute it and/or modify it
651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * under the terms of the GNU General Public License version 2 only, as
751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * published by the Free Software Foundation.  Oracle designates this
851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * particular file as subject to the "Classpath" exception as provided
951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * by Oracle in the LICENSE file that accompanied this code.
1051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
1151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * This code is distributed in the hope that it will be useful, but WITHOUT
1251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * version 2 for more details (a copy is included in the LICENSE file that
1551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * accompanied this code).
1651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
1751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * You should have received a copy of the GNU General Public License version
1851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 2 along with this work; if not, write to the Free Software Foundation,
1951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
2151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * or visit www.oracle.com if you need additional information or have any
2351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * questions.
2451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */
2551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
2651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskipackage javax.sql;
2751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
2851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskiimport java.sql.*;
2951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskiimport java.io.*;
3051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskiimport java.math.*;
3151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskiimport java.util.*;
3251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
3351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski/**
3451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The interface that adds support to the JDBC API for the
3551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * JavaBeans<sup><font size=-2>TM</font></sup> component model.
3651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * A rowset, which can be used as a JavaBeans component in
3751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * a visual Bean development environment, can be created and
3851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * configured at design time and executed at run time.
3951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>
4051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The <code>RowSet</code>
4151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * interface provides a set of JavaBeans properties that allow a <code>RowSet</code>
4251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * instance to be configured to connect to a JDBC data source and read
4351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * some data from the data source.  A group of setter methods (<code>setInt</code>,
4451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>setBytes</code>, <code>setString</code>, and so on)
4551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * provide a way to pass input parameters to a rowset's command property.
4651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * This command is the SQL query the rowset uses when it gets its data from
4751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * a relational database, which is generally the case.
4851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>
4951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The <code>RowSet</code>
5051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * interface supports JavaBeans events, allowing other components in an
5151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * application to be notified when an event occurs on a rowset,
5251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * such as a change in its value.
5351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
5451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>The <code>RowSet</code> interface is unique in that it is intended to be
5551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * implemented using the rest of the JDBC API.  In other words, a
5651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>RowSet</code> implementation is a layer of software that executes "on top"
5751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * of a JDBC driver.  Implementations of the <code>RowSet</code> interface can
5851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * be provided by anyone, including JDBC driver vendors who want to
5951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * provide a <code>RowSet</code> implementation as part of their JDBC products.
6051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>
6151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * A <code>RowSet</code> object may make a connection with a data source and
6251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * maintain that connection throughout its life cycle, in which case it is
6351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * called a <i>connected</i> rowset.  A rowset may also make a connection with
6451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * a data source, get data from it, and then close the connection. Such a rowset
6551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * is called a <i>disconnected</i> rowset.  A disconnected rowset may make
6651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * changes to its data while it is disconnected and then send the changes back
6751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * to the original source of the data, but it must reestablish a connection to do so.
6851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>
6951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * A disconnected rowset may have a reader (a <code>RowSetReader</code> object)
7051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * and a writer (a <code>RowSetWriter</code> object) associated with it.
7151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The reader may be implemented in many different ways to populate a rowset
7251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * with data, including getting data from a non-relational data source. The
7351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * writer can also be implemented in many different ways to propagate changes
7451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * made to the rowset's data back to the underlying data source.
7551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <P>
7651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Rowsets are easy to use.  The <code>RowSet</code> interface extends the standard
7751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>java.sql.ResultSet</code> interface.  The <code>RowSetMetaData</code>
7851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * interface extends the <code>java.sql.ResultSetMetaData</code> interface.
7951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Thus, developers familiar
8051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * with the JDBC API will have to learn a minimal number of new APIs to
8151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * use rowsets.  In addition, third-party software tools that work with
8251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * JDBC <code>ResultSet</code> objects will also easily be made to work with rowsets.
8351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski *
8451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.4
8551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */
8651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
8751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskipublic interface RowSet extends ResultSet {
8851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
8951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
9051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // Properties
9151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
9251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
9351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
9451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // The following properties may be used to create a Connection.
9551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
9651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
9751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
9851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the url property this <code>RowSet</code> object will use to
9951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * create a connection if it uses the <code>DriverManager</code>
10051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * instead of a <code>DataSource</code> object to establish the connection.
10151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The default value is <code>null</code>.
10251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
10351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return a string url
10451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
10551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setUrl
10651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
10751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  String getUrl() throws SQLException;
10851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
10951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
11051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the URL this <code>RowSet</code> object will use when it uses the
11151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>DriverManager</code> to create a connection.
11251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
11351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Setting this property is optional.  If a URL is used, a JDBC driver
11451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * that accepts the URL must be loaded before the
11551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * rowset is used to connect to a database.  The rowset will use the URL
11651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * internally to create a database connection when reading or writing
11751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * data.  Either a URL or a data source name is used to create a
11851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * connection, whichever was set to non null value most recently.
11951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
12051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param url a string value; may be <code>null</code>
12151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
12251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getUrl
12351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
12451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setUrl(String url) throws SQLException;
12551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
12651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
12751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the logical name that identifies the data source for this
12851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object.
12951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
13051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return a data source name
13151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setDataSourceName
13251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setUrl
13351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
13451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  String getDataSourceName();
13551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
13651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
13751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the data source name property for this <code>RowSet</code> object to the
13851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * given <code>String</code>.
13951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
14051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The value of the data source name property can be used to do a lookup of
14151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * a <code>DataSource</code> object that has been registered with a naming
14251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * service.  After being retrieved, the <code>DataSource</code> object can be
14351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * used to create a connection to the data source that it represents.
14451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
14551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param name the logical name of the data source for this <code>RowSet</code>
14651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        object; may be <code>null</code>
14751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
14851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getDataSourceName
14951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
15051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setDataSourceName(String name) throws SQLException;
15151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
15251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
15351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the username used to create a database connection for this
15451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object.
15551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The username property is set at run time before calling the method
15651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>execute</code>.  It is
15751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * not usually part of the serialized state of a <code>RowSet</code> object.
15851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
15951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the username property
16051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setUsername
16151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
16251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  String getUsername();
16351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
16451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
16551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the username property for this <code>RowSet</code> object to the
16651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * given <code>String</code>.
16751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
16851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param name a user name
16951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
17051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getUsername
17151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
17251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setUsername(String name) throws SQLException;
17351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
17451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
17551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the password used to create a database connection.
17651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The password property is set at run time before calling the method
17751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>execute</code>.  It is not usually part of the serialized state
17851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * of a <code>RowSet</code> object.
17951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
18051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the password for making a database connection
18151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setPassword
18251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
18351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  String getPassword();
18451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
18551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
18651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the database password for this <code>RowSet</code> object to
18751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the given <code>String</code>.
18851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
18951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param password the password string
19051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
19151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getPassword
19251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
19351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setPassword(String password) throws SQLException;
19451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
19551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
19651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the transaction isolation level set for this
19751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object.
19851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
19951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the transaction isolation level; one of
20051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_READ_UNCOMMITTED</code>,
20151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_READ_COMMITTED</code>,
20251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_REPEATABLE_READ</code>, or
20351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_SERIALIZABLE</code>
20451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setTransactionIsolation
20551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
20651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  int getTransactionIsolation();
20751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
20851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
20951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the transaction isolation level for this <code>RowSet</code> obejct.
21051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
21151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param level the transaction isolation level; one of
21251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_READ_UNCOMMITTED</code>,
21351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_READ_COMMITTED</code>,
21451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_REPEATABLE_READ</code>, or
21551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *      <code>Connection.TRANSACTION_SERIALIZABLE</code>
21651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
21751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getTransactionIsolation
21851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
21951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setTransactionIsolation(int level) throws SQLException;
22051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
22151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
22251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the <code>Map</code> object associated with this
22351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object, which specifies the custom mapping
22451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * of SQL user-defined types, if any.  The default is for the
22551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * type map to be empty.
22651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
22751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return a <code>java.util.Map</code> object containing the names of
22851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         SQL user-defined types and the Java classes to which they are
22951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         to be mapped
23051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
23151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
23251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setTypeMap
23351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
23451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   java.util.Map<String,Class<?>> getTypeMap() throws SQLException;
23551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
23651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
23751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Installs the given <code>java.util.Map</code> object as the default
23851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * type map for this <code>RowSet</code> object. This type map will be
23951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * used unless another type map is supplied as a method parameter.
24051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
24151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param map  a <code>java.util.Map</code> object containing the names of
24251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         SQL user-defined types and the Java classes to which they are
24351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         to be mapped
24451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
24551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getTypeMap
24651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
24751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   void setTypeMap(java.util.Map<String,Class<?>> map) throws SQLException;
24851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
24951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
25051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // The following properties may be used to create a Statement.
25151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
25251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
25351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
25451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves this <code>RowSet</code> object's command property.
25551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
25651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The command property contains a command string, which must be an SQL
25751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * query, that can be executed to fill the rowset with data.
25851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The default value is <code>null</code>.
25951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
26051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the command string; may be <code>null</code>
26151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setCommand
26251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
26351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  String getCommand();
26451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
26551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
26651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets this <code>RowSet</code> object's command property to the given
26751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * SQL query.
26851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
26951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * This property is optional
27051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * when a rowset gets its data from a data source that does not support
27151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * commands, such as a spreadsheet.
27251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
27351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param cmd the SQL query that will be used to get the data for this
27451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>RowSet</code> object; may be <code>null</code>
27551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
27651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getCommand
27751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
27851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setCommand(String cmd) throws SQLException;
27951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
28051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
28151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves whether this <code>RowSet</code> object is read-only.
28251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If updates are possible, the default is for a rowset to be
28351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * updatable.
28451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
28551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Attempts to update a read-only rowset will result in an
28651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>SQLException</code> being thrown.
28751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
28851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return <code>true</code> if this <code>RowSet</code> object is
28951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         read-only; <code>false</code> if it is updatable
29051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setReadOnly
29151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
29251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  boolean isReadOnly();
29351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
29451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
29551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets whether this <code>RowSet</code> object is read-only to the
29651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * given <code>boolean</code>.
29751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
29851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param value <code>true</code> if read-only; <code>false</code> if
29951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        updatable
30051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
30151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #isReadOnly
30251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
30351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setReadOnly(boolean value) throws SQLException;
30451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
30551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
30651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the maximum number of bytes that may be returned
30751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * for certain column values.
30851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * This limit applies only to <code>BINARY</code>,
30951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>VARBINARY</code>, <code>LONGVARBINARYBINARY</code>, <code>CHAR</code>,
31051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>VARCHAR</code>, <code>LONGVARCHAR</code>, <code>NCHAR</code>
31151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * and <code>NVARCHAR</code> columns.
31251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the limit is exceeded, the excess data is silently discarded.
31351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
31451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the current maximum column size limit; zero means that there
31551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          is no limit
31651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
31751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setMaxFieldSize
31851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
31951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  int getMaxFieldSize() throws SQLException;
32051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
32151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
32251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the maximum number of bytes that can be returned for a column
32351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * value to the given number of bytes.
32451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * This limit applies only to <code>BINARY</code>,
32551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>VARBINARY</code>, <code>LONGVARBINARYBINARY</code>, <code>CHAR</code>,
32651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>VARCHAR</code>, <code>LONGVARCHAR</code>, <code>NCHAR</code>
32751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * and <code>NVARCHAR</code> columns.
32851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the limit is exceeded, the excess data is silently discarded.
32951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * For maximum portability, use values greater than 256.
33051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
33151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param max the new max column size limit in bytes; zero means unlimited
33251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
33351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getMaxFieldSize
33451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
33551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setMaxFieldSize(int max) throws SQLException;
33651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
33751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
33851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the maximum number of rows that this <code>RowSet</code>
33951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object can contain.
34051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the limit is exceeded, the excess rows are silently dropped.
34151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
34251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the current maximum number of rows that this <code>RowSet</code>
34351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         object can contain; zero means unlimited
34451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
34551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setMaxRows
34651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
34751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  int getMaxRows() throws SQLException;
34851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
34951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
35051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the maximum number of rows that this <code>RowSet</code>
35151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object can contain to the specified number.
35251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the limit is exceeded, the excess rows are silently dropped.
35351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
35451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param max the new maximum number of rows; zero means unlimited
35551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
35651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getMaxRows
35751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
35851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setMaxRows(int max) throws SQLException;
35951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
36051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
36151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves whether escape processing is enabled for this
36251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object.
36351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If escape scanning is enabled, which is the default, the driver will do
36451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * escape substitution before sending an SQL statement to the database.
36551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
36651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return <code>true</code> if escape processing is enabled;
36751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         <code>false</code> if it is disabled
36851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
36951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setEscapeProcessing
37051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
37151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  boolean getEscapeProcessing() throws SQLException;
37251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
37351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
37451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets escape processing for this <code>RowSet</code> object on or
37551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * off. If escape scanning is on (the default), the driver will do
37651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * escape substitution before sending an SQL statement to the database.
37751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
37851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param enable <code>true</code> to enable escape processing;
37951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>false</code> to disable it
38051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
38151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getEscapeProcessing
38251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
38351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setEscapeProcessing(boolean enable) throws SQLException;
38451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
38551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
38651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Retrieves the maximum number of seconds the driver will wait for
38751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * a statement to execute.
38851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If this limit is exceeded, an <code>SQLException</code> is thrown.
38951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
39051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @return the current query timeout limit in seconds; zero means
39151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          unlimited
39251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
39351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #setQueryTimeout
39451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
39551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  int getQueryTimeout() throws SQLException;
39651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
39751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
39851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the maximum time the driver will wait for
39951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * a statement to execute to the given number of seconds.
40051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If this limit is exceeded, an <code>SQLException</code> is thrown.
40151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
40251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param seconds the new query timeout limit in seconds; zero means
40351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        that there is no limit
40451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
40551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #getQueryTimeout
40651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
40751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setQueryTimeout(int seconds) throws SQLException;
40851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
40951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
41051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the type of this <code>RowSet</code> object to the given type.
41151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * This method is used to change the type of a rowset, which is by
41251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * default read-only and non-scrollable.
41351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
41451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param type one of the <code>ResultSet</code> constants specifying a type:
41551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>ResultSet.TYPE_FORWARD_ONLY</code>,
41651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or
41751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>ResultSet.TYPE_SCROLL_SENSITIVE</code>
41851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
41951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see java.sql.ResultSet#getType
42051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
42151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setType(int type) throws SQLException;
42251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
42351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
42451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the concurrency of this <code>RowSet</code> object to the given
42551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * concurrency level. This method is used to change the concurrency level
42651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * of a rowset, which is by default <code>ResultSet.CONCUR_READ_ONLY</code>
42751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
42851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param concurrency one of the <code>ResultSet</code> constants specifying a
42951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        concurrency level:  <code>ResultSet.CONCUR_READ_ONLY</code> or
43051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>ResultSet.CONCUR_UPDATABLE</code>
43151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
43251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see ResultSet#getConcurrency
43351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
43451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setConcurrency(int concurrency) throws SQLException;
43551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
43651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
43751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // Parameters
43851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //-----------------------------------------------------------------------
43951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
44051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
44151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The <code>RowSet</code> setter methods are used to set any input parameters
44251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * needed by the <code>RowSet</code> object's command.
44351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Parameters are set at run time, as opposed to design time.
44451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
44551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
44651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
44751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's SQL
44851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * command to SQL <code>NULL</code>.
44951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
45051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> You must specify the parameter's SQL type.
45151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
45251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
45351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param sqlType a SQL type code defined by <code>java.sql.Types</code>
45451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
45551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
45651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setNull(int parameterIndex, int sqlType) throws SQLException;
45751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
45851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
45951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to SQL <code>NULL</code>.
46051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
46151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> You must specify the parameter's SQL type.
46251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
46351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
46451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param sqlType the SQL type code defined in <code>java.sql.Types</code>
46551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
46651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
46751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
46851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
46951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
47051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
47151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setNull(String parameterName, int sqlType) throws SQLException;
47251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
47351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
47451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's SQL
47551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * command to SQL <code>NULL</code>. This version of the method <code>setNull</code>
47651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * should  be used for SQL user-defined types (UDTs) and <code>REF</code> type
47751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameters.  Examples of UDTs include: <code>STRUCT</code>, <code>DISTINCT</code>,
47851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>JAVA_OBJECT</code>, and named array types.
47951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
48051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> To be portable, applications must give the
48151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * SQL type code and the fully qualified SQL type name when specifying
48251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * a NULL UDT or <code>REF</code> parameter.  In the case of a UDT,
48351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the name is the type name of the parameter itself.  For a <code>REF</code>
48451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter, the name is the type name of the referenced type.  If
48551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * a JDBC driver does not need the type code or type name information,
48651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * it may ignore it.
48751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
48851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Although it is intended for UDT and <code>REF</code> parameters,
48951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * this method may be used to set a null parameter of any JDBC type.
49051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the parameter does not have a user-defined or <code>REF</code> type,
49151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the typeName parameter is ignored.
49251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
49351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
49451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param paramIndex the first parameter is 1, the second is 2, ...
49551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param sqlType a value from <code>java.sql.Types</code>
49651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param typeName the fully qualified name of an SQL UDT or the type
49751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        name of the SQL structured type being referenced by a <code>REF</code>
49851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        type; ignored if the parameter is not a UDT or <code>REF</code> type
49951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
50051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
50151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setNull (int paramIndex, int sqlType, String typeName)
50251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
50351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
50451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
50551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to SQL <code>NULL</code>.
50651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This version of the method <code>setNull</code> should
50751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * be used for user-defined types and REF type parameters.  Examples
50851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and
50951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * named array types.
51051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
51151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> To be portable, applications must give the
51251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * SQL type code and the fully-qualified SQL type name when specifying
51351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a NULL user-defined or REF parameter.  In the case of a user-defined type
51451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the name is the type name of the parameter itself.  For a REF
51551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, the name is the type name of the referenced type.  If
51651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a JDBC driver does not need the type code or type name information,
51751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it may ignore it.
51851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
51951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Although it is intended for user-defined and Ref parameters,
52051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method may be used to set a null parameter of any JDBC type.
52151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * If the parameter does not have a user-defined or REF type, the given
52251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * typeName is ignored.
52351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
52451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
52551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
52651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param sqlType a value from <code>java.sql.Types</code>
52751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param typeName the fully-qualified name of an SQL user-defined type;
52851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *        ignored if the parameter is not a user-defined type or
52951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *        SQL <code>REF</code> value
53051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
53151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
53251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
53351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
53451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
53551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
53651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setNull (String parameterName, int sqlType, String typeName)
53751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
53851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
53951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
54051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
54151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>boolean</code> value. The driver converts this to
54251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>BIT</code> value before sending it to the database.
54351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
54451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
54551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
54651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
54751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
54851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBoolean(int parameterIndex, boolean x) throws SQLException;
54951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
55051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
55151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>boolean</code> value.
55251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
55351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>BIT</code> or <code>BOOLEAN</code> value when it sends it to the database.
55451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
55551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
55651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
55751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
55851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
55951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getBoolean
56051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
56151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
56251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
56351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
56451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBoolean(String parameterName, boolean x) throws SQLException;
56551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
56651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
56751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
56851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>byte</code> value. The driver converts this to
56951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>TINYINT</code> value before sending it to the database.
57051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
57151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
57251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
57351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
57451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
57551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setByte(int parameterIndex, byte x) throws SQLException;
57651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
57751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
57851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>byte</code> value.
57951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
58051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>TINYINT</code> value when it sends it to the database.
58151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
58251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
58351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
58451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
58551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
58651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
58751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
58851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getByte
58951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
59051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
59151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setByte(String parameterName, byte x) throws SQLException;
59251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
59351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
59451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
59551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>short</code> value. The driver converts this to
59651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>SMALLINT</code> value before sending it to the database.
59751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
59851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
59951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
60051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
60151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
60251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setShort(int parameterIndex, short x) throws SQLException;
60351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
60451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
60551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>short</code> value.
60651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
60751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>SMALLINT</code> value when it sends it to the database.
60851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
60951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
61051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
61151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
61251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
61351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
61451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
61551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getShort
61651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
61751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
61851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setShort(String parameterName, short x) throws SQLException;
61951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
62051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
62151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
62251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>int</code> value. The driver converts this to
62351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>INTEGER</code> value before sending it to the database.
62451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
62551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
62651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
62751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
62851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
62951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setInt(int parameterIndex, int x) throws SQLException;
63051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
63151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
63251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>int</code> value.
63351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
63451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>INTEGER</code> value when it sends it to the database.
63551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
63651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
63751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
63851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
63951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
64051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
64151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
64251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getInt
64351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
64451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
64551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setInt(String parameterName, int x) throws SQLException;
64651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
64751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
64851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
64951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>long</code> value. The driver converts this to
65051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>BIGINT</code> value before sending it to the database.
65151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
65251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
65351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
65451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
65551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
65651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setLong(int parameterIndex, long x) throws SQLException;
65751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
65851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
65951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>long</code> value.
66051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
66151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>BIGINT</code> value when it sends it to the database.
66251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
66351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
66451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
66551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
66651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
66751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
66851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
66951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getLong
67051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
67151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
67251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setLong(String parameterName, long x) throws SQLException;
67351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
67451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
67551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
67651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>float</code> value. The driver converts this to
67751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>REAL</code> value before sending it to the database.
67851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
67951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
68051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
68151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
68251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
68351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setFloat(int parameterIndex, float x) throws SQLException;
68451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
68551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
68651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>float</code> value.
68751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
68851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>FLOAT</code> value when it sends it to the database.
68951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
69051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
69151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
69251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
69351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
69451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
69551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
69651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getFloat
69751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
69851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
69951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setFloat(String parameterName, float x) throws SQLException;
70051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
70151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
70251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
70351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>double</code> value. The driver converts this to
70451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>DOUBLE</code> value before sending it to the database.
70551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
70651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
70751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
70851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
70951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
71051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setDouble(int parameterIndex, double x) throws SQLException;
71151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
71251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
71351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>double</code> value.
71451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
71551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>DOUBLE</code> value when it sends it to the database.
71651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
71751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
71851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
71951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
72051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
72151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
72251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
72351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getDouble
72451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
72551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
72651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setDouble(String parameterName, double x) throws SQLException;
72751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
72851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
72951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
73051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.math.BigDeciaml</code> value.
73151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The driver converts this to
73251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>NUMERIC</code> value before sending it to the database.
73351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
73451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
73551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
73651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
73751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
73851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException;
73951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
74051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
74151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given
74251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.math.BigDecimal</code> value.
74351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to an SQL <code>NUMERIC</code> value when
74451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it sends it to the database.
74551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
74651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
74751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
74851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
74951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
75051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
75151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
75251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getBigDecimal
75351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
75451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
75551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBigDecimal(String parameterName, BigDecimal x) throws SQLException;
75651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
75751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
75851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
75951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java <code>String</code> value. Before sending it to the
76051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * database, the driver converts this to an SQL <code>VARCHAR</code> or
76151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>LONGVARCHAR</code> value, depending on the argument's size relative
76251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the driver's limits on <code>VARCHAR</code> values.
76351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
76451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
76551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
76651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
76751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
76851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setString(int parameterIndex, String x) throws SQLException;
76951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
77051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
77151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java <code>String</code> value.
77251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
77351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> value
77451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * (depending on the argument's
77551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * size relative to the driver's limits on <code>VARCHAR</code> values)
77651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * when it sends it to the database.
77751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
77851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
77951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
78051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
78151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
78251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
78351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
78451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getString
78551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
78651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
78751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setString(String parameterName, String x) throws SQLException;
78851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
78951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
79051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
79151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given Java array of <code>byte</code> values. Before sending it to the
79251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * database, the driver converts this to an SQL <code>VARBINARY</code> or
79351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>LONGVARBINARY</code> value, depending on the argument's size relative
79451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the driver's limits on <code>VARBINARY</code> values.
79551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
79651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
79751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
79851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
79951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
80051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBytes(int parameterIndex, byte x[]) throws SQLException;
80151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
80251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
80351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given Java array of bytes.
80451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to an SQL <code>VARBINARY</code> or
80551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>LONGVARBINARY</code> (depending on the argument's size relative
80651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to the driver's limits on <code>VARBINARY</code> values) when it sends
80751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it to the database.
80851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
80951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
81051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
81151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
81251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
81351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
81451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
81551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getBytes
81651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
81751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
81851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBytes(String parameterName, byte x[]) throws SQLException;
81951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
82051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
82151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
82251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.sql.Date</code> value. The driver converts this to
82351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>DATE</code> value before sending it to the database, using the
82451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * default <code>java.util.Calendar</code> to calculate the date.
82551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
82651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
82751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
82851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
82951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
83051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setDate(int parameterIndex, java.sql.Date x) throws SQLException;
83151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
83251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
83351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
83451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.sql.Time</code> value. The driver converts this to
83551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>TIME</code> value before sending it to the database, using the
83651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * default <code>java.util.Calendar</code> to calculate it.
83751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
83851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
83951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
84051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
84151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
84251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setTime(int parameterIndex, java.sql.Time x) throws SQLException;
84351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
84451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
84551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
84651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.sql.Timestamp</code> value. The driver converts this to
84751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an SQL <code>TIMESTAMP</code> value before sending it to the database, using the
84851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * default <code>java.util.Calendar</code> to calculate it.
84951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
85051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
85151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
85251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
85351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
85451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setTimestamp(int parameterIndex, java.sql.Timestamp x)
85551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
85651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
85751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
85851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value.
85951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver
86051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * converts this to an SQL <code>TIMESTAMP</code> value when it sends it to the
86151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * database.
86251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
86351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
86451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
86551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
86651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
86751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
86851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
86951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getTimestamp
87051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
87151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
87251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setTimestamp(String parameterName, java.sql.Timestamp x)
87351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
87451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
87551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
87651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
87751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.io.InputStream</code> value.
87851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * It may be more practical to send a very large ASCII value via a
87951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.InputStream</code> rather than as a <code>LONGVARCHAR</code>
88051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter. The driver will read the data from the stream
88151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * as needed until it reaches end-of-file.
88251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
88351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
88451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
88551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
88651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
88751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
88851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the Java input stream that contains the ASCII parameter value
88951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param length the number of bytes in the stream
89051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
89151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
89251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)
89351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
89451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
89551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
89651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given input stream, which will have
89751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the specified number of bytes.
89851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
89951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
90051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.InputStream</code>. Data will be read from the stream
90151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * as needed until end-of-file is reached.  The JDBC driver will
90251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * do any necessary conversion from ASCII to the database char format.
90351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
90451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
90551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
90651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
90751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
90851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
90951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the Java input stream that contains the ASCII parameter value
91051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of bytes in the stream
91151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
91251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
91351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
91451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
91551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
91651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
91751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setAsciiStream(String parameterName, java.io.InputStream x, int length)
91851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
91951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
92051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
92151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
92251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.io.InputStream</code> value.
92351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * It may be more practical to send a very large binary value via a
92451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.InputStream</code> rather than as a <code>LONGVARBINARY</code>
92551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter. The driver will read the data from the stream
92651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * as needed until it reaches end-of-file.
92751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
92851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
92951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
93051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
93151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
93251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
93351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the java input stream which contains the binary parameter value
93451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param length the number of bytes in the stream
93551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
93651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
93751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBinaryStream(int parameterIndex, java.io.InputStream x,
93851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                       int length) throws SQLException;
93951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
94051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
94151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given input stream, which will have
94251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the specified number of bytes.
94351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large binary value is input to a <code>LONGVARBINARY</code>
94451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
94551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.InputStream</code> object. The data will be read from the stream
94651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * as needed until end-of-file is reached.
94751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
94851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
94951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
95051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
95151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
95251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
95351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the java input stream which contains the binary parameter value
95451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of bytes in the stream
95551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
95651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
95751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
95851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
95951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
96051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
96151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBinaryStream(String parameterName, java.io.InputStream x,
96251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                         int length) throws SQLException;
96351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
96451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
96551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
96651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>java.io.Reader</code> value.
96751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * It may be more practical to send a very large UNICODE value via a
96851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.Reader</code> rather than as a <code>LONGVARCHAR</code>
96951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter. The driver will read the data from the stream
97051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * as needed until it reaches end-of-file.
97151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
97251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
97351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
97451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
97551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
97651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
97751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param reader the <code>Reader</code> object that contains the UNICODE data
97851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        to be set
97951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param length the number of characters in the stream
98051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
98151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
98251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setCharacterStream(int parameterIndex,
98351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                          Reader reader,
98451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                          int length) throws SQLException;
98551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
98651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
98751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>Reader</code>
98851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * object, which is the given number of characters long.
98951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
99051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
99151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.Reader</code> object. The data will be read from the stream
99251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * as needed until end-of-file is reached.  The JDBC driver will
99351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * do any necessary conversion from UNICODE to the database char format.
99451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
99551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
99651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
99751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
99851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
99951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
100051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader the <code>java.io.Reader</code> object that
100151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *        contains the UNICODE data used as the designated parameter
100251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the stream
100351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
100451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
100551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
100651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
100751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
100851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
100951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setCharacterStream(String parameterName,
101051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                            java.io.Reader reader,
101151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                            int length) throws SQLException;
101251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
101351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
101451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
101551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given input stream.
101651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
101751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter, it may be more practical to send it via a
101851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.InputStream</code>. Data will be read from the stream
101951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * as needed until end-of-file is reached.  The JDBC driver will
102051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * do any necessary conversion from ASCII to the database char format.
102151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
102251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
102351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
102451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
102551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
102651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * it might be more efficient to use a version of
102751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>setAsciiStream</code> which takes a length parameter.
102851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
102951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
103051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the Java input stream that contains the ASCII parameter value
103151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs or
103251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * this method is called on a closed <code>PreparedStatement</code>
103351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
103451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @since 1.6
103551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
103651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setAsciiStream(int parameterIndex, java.io.InputStream x)
103751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                      throws SQLException;
103851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
103951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   /**
104051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given input stream.
104151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large ASCII value is input to a <code>LONGVARCHAR</code>
104251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
104351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.InputStream</code>. Data will be read from the stream
104451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * as needed until end-of-file is reached.  The JDBC driver will
104551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * do any necessary conversion from ASCII to the database char format.
104651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
104751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
104851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
104951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
105051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
105151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
105251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setAsciiStream</code> which takes a length parameter.
105351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
105451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
105551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the Java input stream that contains the ASCII parameter value
105651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
105751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
105851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
105951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       * @since 1.6
106051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    */
106151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setAsciiStream(String parameterName, java.io.InputStream x)
106251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski            throws SQLException;
106351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
106451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
106551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
106651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given input stream.
106751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * When a very large binary value is input to a <code>LONGVARBINARY</code>
106851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter, it may be more practical to send it via a
106951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.InputStream</code> object. The data will be read from the
107051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * stream as needed until end-of-file is reached.
107151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
107251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
107351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
107451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
107551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
107651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * it might be more efficient to use a version of
107751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>setBinaryStream</code> which takes a length parameter.
107851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
107951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
108051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the java input stream which contains the binary parameter value
108151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs or
108251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * this method is called on a closed <code>PreparedStatement</code>
108351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
108451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @since 1.6
108551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
108651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBinaryStream(int parameterIndex, java.io.InputStream x)
108751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                       throws SQLException;
108851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
108951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
109051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given input stream.
109151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large binary value is input to a <code>LONGVARBINARY</code>
109251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
109351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.InputStream</code> object. The data will be read from the
109451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * stream as needed until end-of-file is reached.
109551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
109651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
109751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
109851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
109951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
110051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
110151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setBinaryStream</code> which takes a length parameter.
110251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
110351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
110451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the java input stream which contains the binary parameter value
110551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
110651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
110751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
110851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
110951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
111051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBinaryStream(String parameterName, java.io.InputStream x)
111151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
111251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
111351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
111451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
111551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the given <code>Reader</code>
111651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object.
111751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
111851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * parameter, it may be more practical to send it via a
111951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.io.Reader</code> object. The data will be read from the stream
112051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * as needed until end-of-file is reached.  The JDBC driver will
112151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * do any necessary conversion from UNICODE to the database char format.
112251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
112351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
112451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
112551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
112651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
112751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * it might be more efficient to use a version of
112851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>setCharacterStream</code> which takes a length parameter.
112951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
113051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
113151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param reader the <code>java.io.Reader</code> object that contains the
113251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        Unicode data
113351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs or
113451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * this method is called on a closed <code>PreparedStatement</code>
113551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
113651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @since 1.6
113751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
113851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setCharacterStream(int parameterIndex,
113951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                          java.io.Reader reader) throws SQLException;
114051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
114151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
114251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>Reader</code>
114351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * object.
114451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * When a very large UNICODE value is input to a <code>LONGVARCHAR</code>
114551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * parameter, it may be more practical to send it via a
114651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.io.Reader</code> object. The data will be read from the stream
114751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * as needed until end-of-file is reached.  The JDBC driver will
114851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * do any necessary conversion from UNICODE to the database char format.
114951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
115051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
115151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
115251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
115351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
115451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
115551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setCharacterStream</code> which takes a length parameter.
115651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
115751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
115851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader the <code>java.io.Reader</code> object that contains the
115951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *        Unicode data
116051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
116151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
116251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
116351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
116451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
116551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setCharacterStream(String parameterName,
116651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                          java.io.Reader reader) throws SQLException;
116751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
116851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
116951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
117051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to a <code>Reader</code> object. The
117151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>Reader</code> reads the data till end-of-file is reached. The
117251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * driver does the necessary conversion from Java character format to
117351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the national character set in the database.
117451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
117551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> This stream object can either be a standard
117651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java stream object or your own subclass that implements the
117751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * standard interface.
117851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
117951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * it might be more efficient to use a version of
118051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>setNCharacterStream</code> which takes a length parameter.
118151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
118251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex of the first parameter is 1, the second is 2, ...
118351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param value the parameter value
118451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @throws SQLException if the driver does not support national
118551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *         character sets;  if the driver can detect that a data conversion
118651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *  error could occur ; if a database access error occurs; or
118751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * this method is called on a closed <code>PreparedStatement</code>
118851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
118951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @since 1.6
119051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
119151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   void setNCharacterStream(int parameterIndex, Reader value) throws SQLException;
119251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
119351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
119451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
119551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
119651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
119751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given Java <code>Object</code>.  For integral values, the
119851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.lang</code> equivalent objects should be used (for example,
119951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * an instance of the class <code>Integer</code> for an <code>int</code>).
120051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
120151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the second argument is an <code>InputStream</code> then the stream must contain
120251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the number of bytes specified by scaleOrLength.  If the second argument is a
120351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>Reader</code> then the reader must contain the number of characters specified    * by scaleOrLength. If these conditions are not true the driver will generate a
120451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>SQLException</code> when the prepared statement is executed.
120551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
120651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <p>The given Java object will be converted to the targetSqlType
120751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * before being sent to the database.
120851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
120951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the object is of a class implementing <code>SQLData</code>,
121051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the rowset should call the method <code>SQLData.writeSQL</code>
121151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to write the object to an <code>SQLOutput</code> data stream.
121251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If, on the other hand, the object is of a class implementing
121351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,  <code>NClob</code>,
121451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *  <code>Struct</code>, <code>java.net.URL</code>,
121551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * or <code>Array</code>, the driver should pass it to the database as a
121651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * value of the corresponding SQL type.
121751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
121851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
121951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <p>Note that this method may be used to pass datatabase-specific
122051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * abstract data types.
122151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
122251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
122351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the object containing the input parameter value
122451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param targetSqlType the SQL type (as defined in <code>java.sql.Types</code>)
122551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        to be sent to the database. The scale argument may further qualify this
122651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        type.
122751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param scaleOrLength for <code>java.sql.Types.DECIMAL</code>
122851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          or <code>java.sql.Types.NUMERIC types</code>,
122951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          this is the number of digits after the decimal point. For
123051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          Java Object types <code>InputStream</code> and <code>Reader</code>,
123151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          this is the length
123251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          of the data in the stream or reader.  For all other types,
123351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *          this value will be ignored.
123451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
123551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see java.sql.Types
123651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
123751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
123851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski            throws SQLException;
123951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
124051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
124151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the value of the designated parameter with the given object. The second
124251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * argument must be an object type; for integral values, the
124351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.lang</code> equivalent objects should be used.
124451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
124551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <p>The given Java object will be converted to the given targetSqlType
124651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * before being sent to the database.
124751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
124851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * If the object has a custom mapping (is of a class implementing the
124951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * interface <code>SQLData</code>),
125051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write it
125151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to the SQL data stream.
125251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * If, on the other hand, the object is of a class implementing
125351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,  <code>NClob</code>,
125451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  <code>Struct</code>, <code>java.net.URL</code>,
125551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * or <code>Array</code>, the driver should pass it to the database as a
125651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value of the corresponding SQL type.
125751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P>
125851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Note that this method may be used to pass datatabase-
125951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * specific abstract data types.
126051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
126151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
126251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the object containing the input parameter value
126351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
126451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the database. The scale argument may further qualify this type.
126551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types,
126651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *          this is the number of digits after the decimal point.  For all other
126751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *          types, this value will be ignored.
126851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
126951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
127051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is
127151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>,
127251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>,
127351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>,
127451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code>
127551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * or  <code>STRUCT</code> data type and the JDBC driver does not support
127651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this data type
127751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see Types
127851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getObject
127951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
128051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
128151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setObject(String parameterName, Object x, int targetSqlType, int scale)
128251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
128351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
128451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
128551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
128651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with a Java <code>Object</code>.  For integral values, the
128751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.lang</code> equivalent objects should be used.
128851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * This method is like <code>setObject</code> above, but the scale used is the scale
128951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * of the second parameter.  Scalar values have a scale of zero.  Literal
129051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * values have the scale present in the literal.
129151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
129251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Even though it is supported, it is not recommended that this method
129351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * be called with floating point input values.
129451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
129551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
129651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the object containing the input parameter value
129751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param targetSqlType the SQL type (as defined in <code>java.sql.Types</code>)
129851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        to be sent to the database
129951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
130051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
130151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setObject(int parameterIndex, Object x,
130251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski                 int targetSqlType) throws SQLException;
130351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
130451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
130551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the value of the designated parameter with the given object.
130651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method is like the method <code>setObject</code>
130751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * above, except that it assumes a scale of zero.
130851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
130951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
131051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the object containing the input parameter value
131151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param targetSqlType the SQL type (as defined in java.sql.Types) to be
131251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *                      sent to the database
131351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
131451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
131551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is
131651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>,
131751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>,
131851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>,
131951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code>
132051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * or  <code>STRUCT</code> data type and the JDBC driver does not support
132151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this data type
132251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getObject
132351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
132451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
132551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setObject(String parameterName, Object x, int targetSqlType)
132651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
132751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
132851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   /**
132951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the value of the designated parameter with the given object.
133051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The second parameter must be of type <code>Object</code>; therefore, the
133151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>java.lang</code> equivalent objects should be used for built-in types.
133251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
133351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <p>The JDBC specification specifies a standard mapping from
133451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java <code>Object</code> types to SQL types.  The given argument
133551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * will be converted to the corresponding SQL type before being
133651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the database.
133751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
133851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <p>Note that this method may be used to pass datatabase-
133951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * specific abstract data types, by using a driver-specific Java
134051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * type.
134151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
134251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * If the object is of a class implementing the interface <code>SQLData</code>,
134351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the JDBC driver should call the method <code>SQLData.writeSQL</code>
134451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to write it to the SQL data stream.
134551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * If, on the other hand, the object is of a class implementing
134651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,  <code>NClob</code>,
134751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  <code>Struct</code>, <code>java.net.URL</code>,
134851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * or <code>Array</code>, the driver should pass it to the database as a
134951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value of the corresponding SQL type.
135051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P>
135151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method throws an exception if there is an ambiguity, for example, if the
135251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * object is of a class implementing more than one of the interfaces named above.
135351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
135451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
135551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the object containing the input parameter value
135651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs,
135751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code> or if the given
135851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *            <code>Object</code> parameter is ambiguous
135951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
136051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
136151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getObject
136251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
136351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
136451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setObject(String parameterName, Object x) throws SQLException;
136551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
136651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
136751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
136851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with a Java <code>Object</code>.  For integral values, the
136951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.lang</code> equivalent objects should be used.
137051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
137151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <p>The JDBC specification provides a standard mapping from
137251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Java Object types to SQL types.  The driver will convert the
137351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * given Java object to its standard SQL mapping before sending it
137451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the database.
137551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
137651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <p>Note that this method may be used to pass datatabase-specific
137751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * abstract data types by using a driver-specific Java type.
137851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
137951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the object is of a class implementing <code>SQLData</code>,
138051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * the rowset should call the method <code>SQLData.writeSQL</code>
138151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to write the object to an <code>SQLOutput</code> data stream.
138251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If, on the other hand, the object is of a class implementing
138351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>,  <code>NClob</code>,
138451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *  <code>Struct</code>, <code>java.net.URL</code>,
138551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * or <code>Array</code>, the driver should pass it to the database as a
138651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * value of the corresponding SQL type.
138751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
138851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
138951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * An exception is thrown if there is an ambiguity, for example, if the
139051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object is of a class implementing more than one of these interfaces.
139151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
139251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex The first parameter is 1, the second is 2, ...
139351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x The object containing the input parameter value
139451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
139551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
139651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setObject(int parameterIndex, Object x) throws SQLException;
139751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
139851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
139951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
140051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
140151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>Ref</code> value.  The driver will convert this
140251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the appropriate <code>REF(&lt;structured-type&gt;)</code> value.
140351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
140451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param i the first parameter is 1, the second is 2, ...
140551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x an object representing data of an SQL <code>REF</code> type
140651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
140751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
140851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setRef (int i, Ref x) throws SQLException;
140951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
141051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
141151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
141251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>Blob</code> value.  The driver will convert this
141351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the <code>BLOB</code> value that the <code>Blob</code> object
141451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * represents before sending it to the database.
141551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
141651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param i the first parameter is 1, the second is 2, ...
141751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x an object representing a BLOB
141851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
141951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
142051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setBlob (int i, Blob x) throws SQLException;
142151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
142251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
142351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>InputStream</code> object.  The inputstream must contain  the number
142451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length otherwise a <code>SQLException</code> will be
142551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>PreparedStatement</code> is executed.
142651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
142751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * method because it informs the driver that the parameter value should be
142851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
142951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the driver may have to do extra work to determine whether the parameter
143051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
143151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1,
143251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the second is 2, ...
143351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param inputStream An object that contains the data to set the parameter
143451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value to.
143551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of bytes in the parameter data.
143651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs,
143751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>PreparedStatement</code>,
143851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if parameterIndex does not correspond
143951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to a parameter marker in the SQL statement,  if the length specified
144051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * is less than zero or if the number of bytes in the inputstream does not match
144151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the specfied length.
144251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
144351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
144451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
144551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
144651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setBlob(int parameterIndex, InputStream inputStream, long length)
144751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
144851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
144951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
145051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>InputStream</code> object.
145151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setBinaryStream (int, InputStream)</code>
145251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * method because it informs the driver that the parameter value should be
145351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
145451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the driver may have to do extra work to determine whether the parameter
145551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
145651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
145751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
145851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
145951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setBlob</code> which takes a length parameter.
146051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
146151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1,
146251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the second is 2, ...
146351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param inputStream An object that contains the data to set the parameter
146451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value to.
146551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs,
146651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>PreparedStatement</code> or
146751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if parameterIndex does not correspond
146851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to a parameter marker in the SQL statement,
146951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
147051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
147151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
147251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
147351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setBlob(int parameterIndex, InputStream inputStream)
147451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
147551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
147651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
147751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>InputStream</code> object.  The <code>inputstream</code> must contain  the number
147851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length, otherwise a <code>SQLException</code> will be
147951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>CallableStatement</code> is executed.
148051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setBinaryStream (int, InputStream, int)</code>
148151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * method because it informs the driver that the parameter value should be
148251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
148351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the driver may have to do extra work to determine whether the parameter
148451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
148551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
148651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter to be set
148751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the second is 2, ...
148851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
148951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param inputStream An object that contains the data to set the parameter
149051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value to.
149151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of bytes in the parameter data.
149251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException  if parameterIndex does not correspond
149351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to a parameter marker in the SQL statement,  or if the length specified
149451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * is less than zero; if the number of bytes in the inputstream does not match
149551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the specfied length; if a database access error occurs or
149651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
149751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
149851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
149951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
150051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
150151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
150251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setBlob(String parameterName, InputStream inputStream, long length)
150351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
150451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
150551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
150651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Blob</code> object.
150751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to an SQL <code>BLOB</code> value when it
150851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sends it to the database.
150951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
151051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
151151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> value
151251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
151351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
151451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
151551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
151651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
151751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
151851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setBlob (String parameterName, Blob x) throws SQLException;
151951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
152051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
152151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>InputStream</code> object.
152251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setBinaryStream (int, InputStream)</code>
152351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * method because it informs the driver that the parameter value should be
152451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sent to the server as a <code>BLOB</code>.  When the <code>setBinaryStream</code> method is used,
152551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the driver may have to do extra work to determine whether the parameter
152651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be send to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code>
152751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
152851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
152951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
153051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setBlob</code> which takes a length parameter.
153151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
153251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
153351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param inputStream An object that contains the data to set the parameter
153451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * value to.
153551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs or
153651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
153751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
153851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
153951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
154051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
154151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setBlob(String parameterName, InputStream inputStream)
154251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
154351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
154451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
154551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
154651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>Clob</code> value.  The driver will convert this
154751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the <code>CLOB</code> value that the <code>Clob</code> object
154851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * represents before sending it to the database.
154951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
155051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param i the first parameter is 1, the second is 2, ...
155151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x an object representing a CLOB
155251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
155351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
155451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setClob (int i, Clob x) throws SQLException;
155551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
155651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
155751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
155851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length otherwise a <code>SQLException</code> will be
155951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>PreparedStatement</code> is executed.
156051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
156151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
156251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
156351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
156451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
156551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
156651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
156751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
156851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs, this method is called on
156951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a closed <code>PreparedStatement</code>, if parameterIndex does not correspond to a parameter
157051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement, or if the length specified is less than zero.
157151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
157251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
157351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
157451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
157551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setClob(int parameterIndex, Reader reader, long length)
157651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
157751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
157851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
157951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.
158051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
158151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
158251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
158351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
158451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
158551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
158651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
158751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
158851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setClob</code> which takes a length parameter.
158951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
159051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
159151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
159251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs, this method is called on
159351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a closed <code>PreparedStatement</code>or if parameterIndex does not correspond to a parameter
159451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement
159551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
159651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
159751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
159851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
159951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setClob(int parameterIndex, Reader reader)
160051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
160151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
160251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
160351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.  The <code>reader</code> must contain  the number
160451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length otherwise a <code>SQLException</code> will be
160551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>CallableStatement</code> is executed.
160651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
160751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
160851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
160951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
161051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
161151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter to be set
161251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
161351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
161451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if parameterIndex does not correspond to a parameter
161551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement; if the length specified is less than zero;
161651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a database access error occurs or
161751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
161851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
161951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
162051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
162151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
162251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
162351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setClob(String parameterName, Reader reader, long length)
162451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
162551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
162651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   /**
162751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Clob</code> object.
162851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to an SQL <code>CLOB</code> value when it
162951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * sends it to the database.
163051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
163151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
163251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> value
163351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
163451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
163551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
163651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
163751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
163851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
163951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setClob (String parameterName, Clob x) throws SQLException;
164051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
164151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
164251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.
164351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
164451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
164551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>CLOB</code>.  When the <code>setCharacterStream</code> method is used, the
164651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
164751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code>
164851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
164951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
165051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
165151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setClob</code> which takes a length parameter.
165251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
165351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
165451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
165551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs or this method is called on
165651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a closed <code>CallableStatement</code>
165751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
165851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
165951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
166051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
166151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setClob(String parameterName, Reader reader)
166251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
166351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
166451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
166551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
166651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>Array</code> value.  The driver will convert this
166751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to the <code>ARRAY</code> value that the <code>Array</code> object
166851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * represents before sending it to the database.
166951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
167051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param i the first parameter is 1, the second is 2, ...
167151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x an object representing an SQL array
167251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
167351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
167451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setArray (int i, Array x) throws SQLException;
167551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
167651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
167751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
167851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>java.sql.Date</code> value.  The driver will convert this
167951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to an SQL <code>DATE</code> value, using the given <code>java.util.Calendar</code>
168051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object to calculate the date.
168151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
168251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
168351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
168451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param cal the <code>java.util.Calendar</code> object to use for calculating the date
168551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
168651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
168751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setDate(int parameterIndex, java.sql.Date x, Calendar cal)
168851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
168951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
169051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
169151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Date</code> value
169251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * using the default time zone of the virtual machine that is running
169351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the application.
169451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
169551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>DATE</code> value when it sends it to the database.
169651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
169751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
169851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
169951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
170051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
170151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
170251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
170351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getDate
170451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
170551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
170651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setDate(String parameterName, java.sql.Date x)
170751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
170851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
170951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
171051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Date</code> value,
171151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * using the given <code>Calendar</code> object.  The driver uses
171251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the <code>Calendar</code> object to construct an SQL <code>DATE</code> value,
171351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * which the driver then sends to the database.  With a
171451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a <code>Calendar</code> object, the driver can calculate the date
171551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * taking into account a custom timezone.  If no
171651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Calendar</code> object is specified, the driver uses the default
171751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * timezone, which is that of the virtual machine running the application.
171851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
171951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
172051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
172151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param cal the <code>Calendar</code> object the driver will use
172251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *            to construct the date
172351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
172451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
172551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
172651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
172751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getDate
172851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
172951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
173051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setDate(String parameterName, java.sql.Date x, Calendar cal)
173151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
173251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
173351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
173451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
173551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>java.sql.Time</code> value.  The driver will convert this
173651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to an SQL <code>TIME</code> value, using the given <code>java.util.Calendar</code>
173751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object to calculate it, before sending it to the database.
173851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
173951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
174051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
174151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param cal the <code>java.util.Calendar</code> object to use for calculating the time
174251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
174351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
174451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setTime(int parameterIndex, java.sql.Time x, Calendar cal)
174551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
174651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
174751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
174851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Time</code> value.
174951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this
175051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to an SQL <code>TIME</code> value when it sends it to the database.
175151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
175251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
175351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
175451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
175551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
175651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
175751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
175851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getTime
175951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
176051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
176151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setTime(String parameterName, java.sql.Time x)
176251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
176351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
176451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
176551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Time</code> value,
176651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * using the given <code>Calendar</code> object.  The driver uses
176751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the <code>Calendar</code> object to construct an SQL <code>TIME</code> value,
176851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * which the driver then sends to the database.  With a
176951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a <code>Calendar</code> object, the driver can calculate the time
177051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * taking into account a custom timezone.  If no
177151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Calendar</code> object is specified, the driver uses the default
177251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * timezone, which is that of the virtual machine running the application.
177351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
177451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
177551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
177651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param cal the <code>Calendar</code> object the driver will use
177751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *            to construct the time
177851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
177951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
178051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
178151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
178251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getTime
178351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
178451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
178551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setTime(String parameterName, java.sql.Time x, Calendar cal)
178651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
178751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
178851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
178951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Sets the designated parameter in this <code>RowSet</code> object's command
179051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with the given  <code>java.sql.Timestamp</code> value.  The driver will
179151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * convert this to an SQL <code>TIMESTAMP</code> value, using the given
179251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>java.util.Calendar</code> object to calculate it, before sending it to the
179351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * database.
179451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
179551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param parameterIndex the first parameter is 1, the second is 2, ...
179651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param x the parameter value
179751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param cal the <code>java.util.Calendar</code> object to use for calculating the
179851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        timestamp
179951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
180051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
180151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void setTimestamp(int parameterIndex, java.sql.Timestamp x, Calendar cal)
180251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    throws SQLException;
180351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
180451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
180551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value,
180651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * using the given <code>Calendar</code> object.  The driver uses
180751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> value,
180851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * which the driver then sends to the database.  With a
180951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * a <code>Calendar</code> object, the driver can calculate the timestamp
181051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * taking into account a custom timezone.  If no
181151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Calendar</code> object is specified, the driver uses the default
181251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * timezone, which is that of the virtual machine running the application.
181351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
181451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
181551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
181651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param cal the <code>Calendar</code> object the driver will use
181751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *            to construct the timestamp
181851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
181951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
182051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
182151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
182251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @see #getTimestamp
182351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
182451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
182551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal)
182651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski        throws SQLException;
182751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
182851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
182951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Clears the parameters set for this <code>RowSet</code> object's command.
183051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>In general, parameter values remain in force for repeated use of a
183151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>RowSet</code> object. Setting a parameter value automatically clears its
183251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * previous value.  However, in some cases it is useful to immediately
183351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * release the resources used by the current parameter values, which can
183451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * be done by calling the method <code>clearParameters</code>.
183551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
183651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs
183751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
183851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void clearParameters() throws SQLException;
183951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
184051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //---------------------------------------------------------------------
184151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // Reading and writing data
184251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //---------------------------------------------------------------------
184351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
184451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
184551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Fills this <code>RowSet</code> object with data.
184651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
184751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The <code>execute</code> method may use the following properties
184851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to create a connection for reading data: url, data source name,
184951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * user name, password, transaction isolation, and type map.
185051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
185151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * The <code>execute</code> method  may use the following properties
185251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * to create a statement to execute a command:
185351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * command, read only, maximum field size,
185451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * maximum rows, escape processing, and query timeout.
185551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
185651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If the required properties have not been set, an exception is
185751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * thrown.  If this method is successful, the current contents of the rowset are
185851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * discarded and the rowset's metadata is also (re)set.  If there are
185951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * outstanding updates, they are ignored.
186051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <P>
186151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * If this <code>RowSet</code> object does not maintain a continuous connection
186251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * with its source of data, it may use a reader (a <code>RowSetReader</code>
186351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * object) to fill itself with data.  In this case, a reader will have been
186451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * registered with this <code>RowSet</code> object, and the method
186551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * <code>execute</code> will call on the reader's <code>readData</code>
186651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * method as part of its implementation.
186751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
186851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @exception SQLException if a database access error occurs or any of the
186951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *            properties necessary for making a connection and creating
187051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *            a statement have not been set
187151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
187251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void execute() throws SQLException;
187351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
187451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //--------------------------------------------------------------------
187551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  // Events
187651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  //--------------------------------------------------------------------
187751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
187851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
187951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Registers the given listener so that it will be notified of events
188051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * that occur on this <code>RowSet</code> object.
188151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
188251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param listener a component that has implemented the <code>RowSetListener</code>
188351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        interface and wants to be notified when events occur on this
188451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>RowSet</code> object
188551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #removeRowSetListener
188651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
188751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void addRowSetListener(RowSetListener listener);
188851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
188951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  /**
189051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * Removes the specified listener from the list of components that will be
189151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * notified when an event occurs on this <code>RowSet</code> object.
189251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *
189351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @param listener a component that has been registered as a listener for this
189451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   *        <code>RowSet</code> object
189551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   * @see #addRowSetListener
189651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   */
189751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski  void removeRowSetListener(RowSetListener listener);
189851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
189951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
190051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an
190151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * SQL <code>XML</code> value when it sends it to the database.
190251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * @param parameterIndex index of the first parameter is 1, the second is 2, ...
190351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * @param xmlObject a <code>SQLXML</code> object that maps an SQL <code>XML</code> value
190451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * @throws SQLException if a database access error occurs, this method
190551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      *  is called on a closed result set,
190651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * the <code>java.xml.transform.Result</code>,
190751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      *  <code>Writer</code> or <code>OutputStream</code> has not been closed
190851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * for the <code>SQLXML</code> object  or
190951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      *  if there is an error processing the XML value.  The <code>getCause</code> method
191051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      *  of the exception may provide a more detailed exception, for example, if the
191151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      *  stream does not contain valid XML.
191251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      * @since 1.6
191351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski      */
191451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException;
191551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
191651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
191751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an
191851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>SQL XML</code> value when it sends it to the database.
191951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
192051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param xmlObject a <code>SQLXML</code> object that maps an <code>SQL XML</code> value
192151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs, this method
192251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  is called on a closed result set,
192351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the <code>java.xml.transform.Result</code>,
192451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  <code>Writer</code> or <code>OutputStream</code> has not been closed
192551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * for the <code>SQLXML</code> object  or
192651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  if there is an error processing the XML value.  The <code>getCause</code> method
192751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  of the exception may provide a more detailed exception, for example, if the
192851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  stream does not contain valid XML.
192951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
193051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
193151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException;
193251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
193351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
193451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
193551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver converts this to a SQL <code>ROWID</code> value when it sends it
193651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * to the database
193751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
193851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex the first parameter is 1, the second is 2, ...
193951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the parameter value
194051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if a database access error occurs
194151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
194251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
194351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
194451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setRowId(int parameterIndex, RowId x) throws SQLException;
194551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
194651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
194751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The
194851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * driver converts this to a SQL <code>ROWID</code> when it sends it to the
194951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * database.
195051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    *
195151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @param parameterName the name of the parameter
195251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @param x the parameter value
195351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @throws SQLException if a database access error occurs
195451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @since 1.6
195551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    */
195651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski   void setRowId(String parameterName, RowId x) throws SQLException;
195751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
195851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
195951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated paramter to the given <code>String</code> object.
196051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to a SQL <code>NCHAR</code> or
196151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
196251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * (depending on the argument's
196351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * size relative to the driver's limits on <code>NVARCHAR</code> values)
196451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * when it sends it to the database.
196551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
196651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex of the first parameter is 1, the second is 2, ...
196751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
196851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
196951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
197051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur ; or if a database access error occurs
197151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
197251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
197351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNString(int parameterIndex, String value) throws SQLException;
197451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
197551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
197651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated paramter to the given <code>String</code> object.
197751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to a SQL <code>NCHAR</code> or
197851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code>
197951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the column to be set
198051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
198151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
198251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
198351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur; or if a database access error occurs
198451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
198551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
198651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    public void setNString(String parameterName, String value)
198751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski            throws SQLException;
198851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
198951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
199051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object. The
199151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Reader</code> reads the data till end-of-file is reached. The
199251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver does the necessary conversion from Java character format to
199351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the national character set in the database.
199451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex of the first parameter is 1, the second is 2, ...
199551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
199651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
199751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
199851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
199951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur ; or if a database access error occurs
200051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
200151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
200251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException;
200351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
200451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
200551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object. The
200651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Reader</code> reads the data till end-of-file is reached. The
200751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver does the necessary conversion from Java character format to
200851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the national character set in the database.
200951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the column to be set
201051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
201151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
201251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
201351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
201451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur; or if a database access error occurs
201551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
201651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
201751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    public void setNCharacterStream(String parameterName, Reader value, long length)
201851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski            throws SQLException;
201951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
202051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
202151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object. The
202251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>Reader</code> reads the data till end-of-file is reached. The
202351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver does the necessary conversion from Java character format to
202451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the national character set in the database.
202551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
202651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> This stream object can either be a standard
202751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Java stream object or your own subclass that implements the
202851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * standard interface.
202951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
203051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
203151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setNCharacterStream</code> which takes a length parameter.
203251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
203351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
203451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
203551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
203651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
203751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur ; if a database access error occurs; or
203851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
203951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
204051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
204151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
204251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNCharacterStream(String parameterName, Reader value) throws SQLException;
204351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
204451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
204551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * Sets the designated parameter to a <code>java.sql.NClob</code> object. The object
204651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * implements the <code>java.sql.NClob</code> interface. This <code>NClob</code>
204751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * object maps to a SQL <code>NCLOB</code>.
204851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @param parameterName the name of the column to be set
204951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @param value the parameter value
205051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @throws SQLException if the driver does not support national
205151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    *         character sets;  if the driver can detect that a data conversion
205251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    *  error could occur; or if a database access error occurs
205351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    * @since 1.6
205451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    */
205551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setNClob(String parameterName, NClob value) throws SQLException;
205651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
205751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
205851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.  The <code>reader</code> must contain  the number
205951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length otherwise a <code>SQLException</code> will be
206051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>CallableStatement</code> is executed.
206151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
206251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
206351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
206451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
206551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
206651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
206751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter to be set
206851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
206951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
207051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if parameterIndex does not correspond to a parameter
207151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement; if the length specified is less than zero;
207251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver does not support national
207351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
207451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur; if a database access error occurs or
207551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
207651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
207751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method
207851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
207951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
208051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNClob(String parameterName, Reader reader, long length)
208151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
208251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
208351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
208451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.
208551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
208651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
208751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
208851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
208951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
209051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
209151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
209251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setNClob</code> which takes a length parameter.
209351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
209451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterName the name of the parameter
209551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
209651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national character sets;
209751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver can detect that a data conversion
209851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur;  if a database access error occurs or
209951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>CallableStatement</code>
210051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
210151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
210251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
210351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
210451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNClob(String parameterName, Reader reader)
210551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
210651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
210751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
210851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.  The reader must contain  the number
210951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * of characters specified by length otherwise a <code>SQLException</code> will be
211051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * generated when the <code>PreparedStatement</code> is executed.
211151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method
211251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
211351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
211451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
211551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
211651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
211751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
211851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param length the number of characters in the parameter data.
211951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if parameterIndex does not correspond to a parameter
212051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement; if the length specified is less than zero;
212151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver does not support national character sets;
212251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver can detect that a data conversion
212351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur;  if a database access error occurs or
212451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>PreparedStatement</code>
212551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
212651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
212751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
212851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
212951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNClob(int parameterIndex, Reader reader, long length)
213051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
213151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
213251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
213351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>java.sql.NClob</code> object. The driver converts this to a
213451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * SQL <code>NCLOB</code> value when it sends it to the database.
213551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex of the first parameter is 1, the second is 2, ...
213651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param value the parameter value
213751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if the driver does not support national
213851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *         character sets;  if the driver can detect that a data conversion
213951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur ; or if a database access error occurs
214051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
214151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
214251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNClob(int parameterIndex, NClob value) throws SQLException;
214351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
214451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
214551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to a <code>Reader</code> object.
214651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * This method differs from the <code>setCharacterStream (int, Reader)</code> method
214751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * because it informs the driver that the parameter value should be sent to
214851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * the server as a <code>NCLOB</code>.  When the <code>setCharacterStream</code> method is used, the
214951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * driver may have to do extra work to determine whether the parameter
215051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code>
215151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <P><B>Note:</B> Consult your JDBC driver documentation to determine if
215251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * it might be more efficient to use a version of
215351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * <code>setNClob</code> which takes a length parameter.
215451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
215551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex index of the first parameter is 1, the second is 2, ...
215651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param reader An object that contains the data to set the parameter value to.
215751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLException if parameterIndex does not correspond to a parameter
215851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * marker in the SQL statement;
215951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver does not support national character sets;
216051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * if the driver can detect that a data conversion
216151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *  error could occur;  if a database access error occurs or
216251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>PreparedStatement</code>
216351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
216451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
216551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.6
216651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
216751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     void setNClob(int parameterIndex, Reader reader)
216851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski       throws SQLException;
216951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
217051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    /**
217151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * Sets the designated parameter to the given <code>java.net.URL</code> value.
217251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * The driver converts this to an SQL <code>DATALINK</code> value
217351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * when it sends it to the database.
217451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     *
217551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param parameterIndex the first parameter is 1, the second is 2, ...
217651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @param x the <code>java.net.URL</code> object to be set
217751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @exception SQLException if a database access error occurs or
217851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * this method is called on a closed <code>PreparedStatement</code>
217951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this method
218051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     * @since 1.4
218151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski     */
218251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski    void setURL(int parameterIndex, java.net.URL x) throws SQLException;
218351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
218451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
218551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski
218651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski}
2187