FileDocCategorySizeDatePackage
PreparedStatementWrapper40.javaAPI DocGlassfish v2 API35154Fri May 04 22:36:06 BST 2007com.sun.gjc.spi.jdbc40

PreparedStatementWrapper40

public class PreparedStatementWrapper40 extends com.sun.gjc.spi.base.PreparedStatementWrapper
Wrapper for JDBC 4.0 PreparedStatement

Fields Summary
Constructors Summary
public PreparedStatementWrapper40(Connection con, PreparedStatement statement)
Creates a new instance of PreparedStatement Wrapper for JDBC 3.0

param
con ConnectionWrapper
param
statement PreparedStatement that is wrapped

        super(con, statement);
    
Methods Summary
public java.sql.ResultSetexecuteQuery()
Executes the SQL query in this PreparedStatement object and returns the ResultSet object generated by the query.

return
a ResultSet object that contains the data produced by the query; never null
exception
SQLException if a database access error occurs; this method is called on a closed PreparedStatement or the SQL statement does not return a ResultSet object

        ResultSet rs = preparedStatement.executeQuery();
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public java.sql.ResultSetexecuteQuery(java.lang.String sql)
Executes the given SQL statement, which returns a single ResultSet object.

param
sql an SQL statement to be sent to the database, typically a static SQL SELECT statement
return
a ResultSet object that contains the data produced by the given query; never null
exception
SQLException if a database access error occurs, this method is called on a closed Statement or the given SQL statement produces anything other than a single ResultSet object

        ResultSet rs = preparedStatement.executeQuery(sql);
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public java.sql.ResultSetgetGeneratedKeys()
Retrieves any auto-generated keys created as a result of executing this Statement object. If this Statement object did not generate any keys, an empty ResultSet object is returned.

Note:If the columns which represent the auto-generated keys were not specified, the JDBC driver implementation will determine the columns which best represent the auto-generated keys.

return
a ResultSet object containing the auto-generated key(s) generated by the execution of this Statement object
exception
SQLException if a database access error occurs or this method is called on a closed Statement
throws
java.sql.SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.4

        ResultSet rs = preparedStatement.getGeneratedKeys();
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public java.sql.ResultSetgetResultSet()
Retrieves the current result as a ResultSet object. This method should be called only once per result.

return
the current result as a ResultSet object or null if the result is an update count or there are no more results
exception
SQLException if a database access error occurs or this method is called on a closed Statement
see
#execute

        ResultSet rs = preparedStatement.getResultSet();
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public booleanisClosed()
Retrieves whether this Statement object has been closed. A Statement is closed if the method close has been called on it, or if it is automatically closed.

return
true if this Statement object is closed; false if it is still open
throws
SQLException if a database access error occurs
since
1.6

        return preparedStatement.isClosed();
    
public booleanisPoolable()
Returns a value indicating whether the Statement is poolable or not.

return
true if the Statement is poolable; false otherwise

throws
SQLException if this method is called on a closed Statement

since
1.6

see
java.sql.Statement#setPoolable(boolean) setPoolable(boolean)

        return preparedStatement.isPoolable();
    
public booleanisWrapperFor(java.lang.Class iface)
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.

param
iface a Class defining an interface.
return
true if this implements the interface or directly or indirectly wraps an object that does.
throws
java.sql.SQLException if an error occurs while determining whether this is a wrapper for an object with the given interface.
since
1.6

         boolean result ;
        if (iface.isInstance(this)) {
            result = true;
        }else{
            result = preparedStatement.isWrapperFor(iface);
        }
        return result;
    
public voidsetAsciiStream(int parameterIndex, java.io.InputStream x, long length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
x the Java input stream that contains the ASCII parameter value
param
length the number of bytes in the stream
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
since
1.6

        preparedStatement.setAsciiStream(parameterIndex, x, length);
    
public voidsetAsciiStream(int parameterIndex, java.io.InputStream x)
Sets the designated parameter to the given input stream. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setAsciiStream which takes a length parameter.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
x the Java input stream that contains the ASCII parameter value
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setAsciiStream(parameterIndex, x);
    
public voidsetBinaryStream(int parameterIndex, java.io.InputStream x, long length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
x the java input stream which contains the binary parameter value
param
length the number of bytes in the stream
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
since
1.6

        preparedStatement.setBinaryStream(parameterIndex, x, length);
    
public voidsetBinaryStream(int parameterIndex, java.io.InputStream x)
Sets the designated parameter to the given input stream. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setBinaryStream which takes a length parameter.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
x the java input stream which contains the binary parameter value
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setBinaryStream(parameterIndex, x);
    
public voidsetBlob(int parameterIndex, java.io.InputStream inputStream)
Sets the designated parameter to a InputStream object. This method differs from the setBinaryStream (int, InputStream) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARBINARY or a BLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setBlob which takes a length parameter.

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
inputStream An object that contains the data to set the parameter value to.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatement or if parameterIndex does not correspond to a parameter marker in the SQL statement,
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setBlob(parameterIndex, inputStream);
    
public voidsetBlob(int parameterIndex, java.io.InputStream inputStream, long length)
Sets the designated parameter to a InputStream object. The inputstream must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setBinaryStream (int, InputStream, int) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARBINARY or a BLOB

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
inputStream An object that contains the data to set the parameter value to.
param
length the number of bytes in the parameter data.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatement; if the length specified is less than zero or if the number of bytes in the inputstream does not match the specfied length.
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setBlob(parameterIndex, inputStream, length);
    
public voidsetCharacterStream(int parameterIndex, java.io.Reader reader, long length)
Sets the designated parameter to the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
reader the java.io.Reader object that contains the Unicode data
param
length the number of characters in the stream
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
since
1.6

        preparedStatement.setCharacterStream(parameterIndex, reader, length);
    
public voidsetCharacterStream(int parameterIndex, java.io.Reader reader)
Sets the designated parameter to the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setCharacterStream which takes a length parameter.

param
parameterIndex the first parameter is 1, the second is 2, ...
param
reader the java.io.Reader object that contains the Unicode data
exception
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setCharacterStream(parameterIndex, reader);
    
public voidsetClob(int parameterIndex, java.io.Reader reader)
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARCHAR or a CLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setClob which takes a length parameter.

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
reader An object that contains the data to set the parameter value to.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatementor if parameterIndex does not correspond to a parameter marker in the SQL statement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setClob(parameterIndex, reader);
    
public voidsetClob(int parameterIndex, java.io.Reader reader, long length)
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARCHAR or a CLOB

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
reader An object that contains the data to set the parameter value to.
param
length the number of characters in the parameter data.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatement or if the length specified is less than zero.
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setClob(parameterIndex, reader, length);
    
public voidsetNCharacterStream(int parameterIndex, java.io.Reader value)
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNCharacterStream which takes a length parameter.

param
parameterIndex of the first parameter is 1, the second is 2, ...
param
value the parameter value
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNCharacterStream(parameterIndex, value);
    
public voidsetNCharacterStream(int parameterIndex, java.io.Reader value, long length)
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

param
parameterIndex of the first parameter is 1, the second is 2, ...
param
value the parameter value
param
length the number of characters in the parameter data.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNCharacterStream(parameterIndex, value, length);
    
public voidsetNClob(int parameterIndex, java.io.Reader reader)
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGNVARCHAR or a NCLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNClob which takes a length parameter.

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
reader An object that contains the data to set the parameter value to.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNClob(parameterIndex, reader);
    
public voidsetNClob(int parameterIndex, java.sql.NClob value)
Sets the designated parameter to a java.sql.NClob object. The driver converts this to a SQL NCLOB value when it sends it to the database.

param
parameterIndex of the first parameter is 1, the second is 2, ...
param
value the parameter value
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNClob(parameterIndex, value);
    
public voidsetNClob(int parameterIndex, java.io.Reader reader, long length)
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGNVARCHAR or a NCLOB

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
reader An object that contains the data to set the parameter value to.
param
length the number of characters in the parameter data.
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the length specified is less than zero; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNClob(parameterIndex, reader, length);
    
public voidsetNString(int parameterIndex, java.lang.String value)
Sets the designated paramter to the given String object. The driver converts this to a SQL NCHAR or NVARCHAR or LONGNVARCHAR value (depending on the argument's size relative to the driver's limits on NVARCHAR values) when it sends it to the database.

param
parameterIndex of the first parameter is 1, the second is 2, ...
param
value the parameter value
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setNString(parameterIndex, value);
    
public voidsetPoolable(boolean poolable)
Requests that a Statement be pooled or not pooled. The value specified is a hint to the statement pool implementation indicating whether the applicaiton wants the statement to be pooled. It is up to the statement pool manager as to whether the hint is used.

The poolable value of a statement is applicable to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.

By default, a Statement is not poolable when created, and a PreparedStatement and CallableStatement are poolable when created.

param
poolable requests that the statement be pooled if true and that the statement not be pooled if false

throws
SQLException if this method is called on a closed Statement

since
1.6

        preparedStatement.setPoolable(poolable);
    
public voidsetRowId(int parameterIndex, java.sql.RowId x)
Sets the designated parameter to the given java.sql.RowId object. The driver converts this to a SQL ROWID value when it sends it to the database

param
parameterIndex the first parameter is 1, the second is 2, ...
param
x the parameter value
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed PreparedStatement
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setRowId(parameterIndex, x);
    
public voidsetSQLXML(int parameterIndex, java.sql.SQLXML xmlObject)
Sets the designated parameter to the given java.sql.SQLXML object. The driver converts this to an SQL XML value when it sends it to the database.

param
parameterIndex index of the first parameter is 1, the second is 2, ...
param
xmlObject a SQLXML object that maps an SQL XML value
throws
SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatement or the java.xml.transform.Result, Writer or OutputStream has not been closed for the SQLXML object
throws
SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.6

        preparedStatement.setSQLXML(parameterIndex, xmlObject);
    
public Tunwrap(java.lang.Class iface)
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.

param
iface A Class defining an interface that the result must implement.
return
an object that implements the interface. May be a proxy for the actual implementing object.
throws
java.sql.SQLException If no object found that implements the interface
since
1.6

        T result ;
        if (iface.isInstance(this)) {
            result = iface.cast(this);
        } else {
            result = preparedStatement.unwrap(iface);
        }
        return result;