|
1.50.39 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--interbase.interclient.Statement | +--interbase.interclient.PreparedStatement
Represents a precompiled SQL statement, possibly parameterized.
A SQL statement is pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.
Note: The setXXX methods for setting IN parameter values must specify types that are compatible with the defined SQL type of the input parameter. For instance, if the IN parameter has SQL type Integer then setInt should be used.
If arbitrary parameter type conversions are required then the setObject method should be used with a target SQL type.
Connection.prepareStatement(java.lang.String)
,
ResultSet
Method Summary | |
void |
addBatch()
Add a set of parameters to the batch. |
void |
clearParameters()
In general, parameter values remain in force for repeated use of a Statement. |
boolean |
execute()
Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate. |
ResultSet |
executeQuery()
A prepared SQL query is executed and its ResultSet is returned. |
int |
executeUpdate()
Execute a SQL INSERT, UPDATE or DELETE statement. |
ResultSetMetaData |
getMetaData()
The number, types and properties of a ResultSet's columns are provided by the getMetaData method. |
ParameterMetaData |
getParameterMetaData()
Get meta data describing the parameters to this prepared statement. |
String |
getPlan()
If this statement was prepared with setPlan enabled then retrieve the plan. |
ResultSetMetaData |
getResultSetMetaData()
Deprecated. deprecated since 1.50, replaced by getMetaData() in JDBC 2. |
void |
setArray(int i,
Array x)
Set an Array parameter. |
void |
setAsciiStream(int parameterIndex,
InputStream x,
int length)
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. |
void |
setBigDecimal(int parameterIndex,
BigDecimal x)
Set a parameter to a java.lang.BigDecimal value. |
void |
setBinaryStream(int parameterIndex,
InputStream x,
int length)
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. |
void |
setBlob(int i,
Blob x)
Set a BLOB parameter. |
void |
setBoolean(int parameterIndex,
boolean x)
Set a parameter to a Java boolean value. |
void |
setByte(int parameterIndex,
byte x)
Set a parameter to a Java byte value. |
void |
setBytes(int parameterIndex,
byte[] x)
Set a parameter to a Java array of bytes. |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
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. |
void |
setClob(int i,
Clob x)
Set a CLOB parameter. |
void |
setDate(int parameterIndex,
Date x)
Set a parameter to a java.sql.Date value. |
void |
setDate(int parameterIndex,
Date x,
Calendar cal)
Set a parameter to a java.sql.Date value. |
void |
setDouble(int parameterIndex,
double x)
Set a parameter to a Java double value. |
void |
setFloat(int parameterIndex,
float x)
Set a parameter to a Java float value. |
void |
setInt(int parameterIndex,
int x)
Set a parameter to a Java int value. |
void |
setLong(int parameterIndex,
long x)
Set a parameter to a Java long value. |
void |
setNull(int parameterIndex,
int sqlType)
Set a parameter to SQL NULL. |
void |
setObject(int parameterIndex,
Object x)
Set the value of a parameter using an object; use the java.lang equivalent objects for integral values. |
void |
setObject(int parameterIndex,
Object x,
int targetSQLType)
This method is like setObject above, but assumes a scale of zero. |
void |
setObject(int parameterIndex,
Object x,
int targetSQLType,
int scale)
Set the value of a parameter using an object; use the java.lang equivalent objects for integral values. |
void |
setRef(int i,
Ref x)
Set a REF(<structured-type>) parameter. |
void |
setShort(int parameterIndex,
short x)
Set a parameter to a Java short value. |
void |
setString(int parameterIndex,
String x)
Set a parameter to a Java String value. |
void |
setTime(int parameterIndex,
Time x)
Set a parameter to a java.sql.Time value. |
void |
setTime(int parameterIndex,
Time x,
Calendar cal)
Set a parameter to a java.sql.Time value. |
void |
setTimestamp(int parameterIndex,
Timestamp x)
Set a parameter to a java.sql.Timestamp value. |
void |
setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
Set a parameter to a java.sql.Timestamp value. |
void |
setUnicodeStream(int parameterIndex,
InputStream x,
int length)
Deprecated. to be deprecated in future release, replaced by setCharacterStream() in JDBC 2 |
Methods inherited from class interbase.interclient.Statement |
addBatch,
cancel,
clearBatch,
clearWarnings,
close,
execute,
executeBatch,
executeQuery,
executeUpdate,
finalize,
getConnection,
getFetchDirection,
getFetchSize,
getMaxFieldSize,
getMaxRows,
getMoreResults,
getQueryTimeout,
getResultSet,
getResultSetConcurrency,
getResultSetType,
getUpdateCount,
getWarnings,
setCursorName,
setEscapeProcessing,
setFetchDirection,
setFetchSize,
setMaxFieldSize,
setMaxRows,
setQueryTimeout |
Methods inherited from class java.lang.Object |
clone,
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Method Detail |
public ResultSet executeQuery() throws SQLException
public int executeUpdate() throws SQLException
public void setNull(int parameterIndex, int sqlType) throws SQLException
Note: You must specify the parameter's SQL type.
parameterIndex
- the first parameter is 1, the second is 2, ...sqlType
- SQL type code defined by java.sql.Typespublic void setBoolean(int parameterIndex, boolean x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setByte(int parameterIndex, byte x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setShort(int parameterIndex, short x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setInt(int parameterIndex, int x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setLong(int parameterIndex, long x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setFloat(int parameterIndex, float x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setDouble(int parameterIndex, double x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setString(int parameterIndex, String x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setBytes(int parameterIndex, byte[] x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setDate(int parameterIndex, Date x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setTime(int parameterIndex, Time x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the ASCII parameter valuelength
- the number of bytes in the streampublic void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the UNICODE parameter valuelength
- the number of bytes in the streamsetCharacterStream(int, java.io.Reader, int)
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java input stream which contains the binary parameter valuelength
- the number of bytes in the streampublic void clearParameters() throws SQLException
public void setObject(int parameterIndex, Object x, int targetSQLType, int scale) throws SQLException
The given Java object will be converted to the targetSqlType before being sent to the database.
JDBC 2 note:
Note that this method may be used to pass database specific abstract data types.
If the object is of a class implementing SQLData, the JDBC driver should call its method writeSQL() to write it to the SQL data stream, else if the object is of a class implementing Ref, Blob, Clob, Struct, or Array then pass it to the database as a value of the corresponding SQL type.
parameterIndex
- The first parameter is 1, the second is 2, ...x
- The object containing the input parameter valuetargetSqlType
- The SQL type (as defined in java.sql.Types) to be
sent to the database. The scale argument may further qualify this type.scale
- For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored,java.sql.Types
public void setObject(int parameterIndex, Object x, int targetSQLType) throws SQLException
public void setObject(int parameterIndex, Object x) throws SQLException
Set the value of a parameter using an object; use the java.lang equivalent objects for integral values.
The JDBC specification specifies a standard mapping from Java Object types to SQL types. The given argument java object will be converted to the corresponding SQL type before being sent to the database.
Note that this method may be used to pass datatabase specific abstract data types, by using a Driver specific Java type.
JDBC 2 note:
If the object is of a class implementing SQLData, the JDBC driver should call its method writeSQL() to write it to the SQL data stream, else if the object is of a class implementing Ref, Blob, Clob, Struct, or Array then pass it to the database as a value of the corresponding SQL type.
Raise an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of those interfaces.
parameterIndex
- The first parameter is 1, the second is 2, ...x
- The object containing the input parameter valuepublic boolean execute() throws SQLException
Statement.execute(java.lang.String)
public void addBatch() throws SQLException
Statement.addBatch(java.lang.String)
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the java reader which contains the UNICODE datalength
- the number of characters in the streampublic void setRef(int i, Ref x) throws SQLException
i
- the first parameter is 1, the second is 2, ...x
- an object representing data of an SQL REF Typepublic void setBlob(int i, Blob x) throws SQLException
i
- the first parameter is 1, the second is 2, ...x
- an object representing a BLOBpublic void setClob(int i, Clob x) throws SQLException
i
- the first parameter is 1, the second is 2, ...x
- an object representing a CLOBpublic void setArray(int i, Array x) throws SQLException
i
- the first parameter is 1, the second is 2, ...x
- an object representing an SQL arraypublic ResultSetMetaData getMetaData() throws SQLException
InterClient note: InterClient has provided the capability to get the result set meta data for a prepared statement even before the JDBC 2 specification using getResultSetMetaData(). This provides a means to access result set meta data before the prepared statement is executed (SQL DESCRIBE functionality). Unfortunately, SQL DESCRIBE INPUT functionality does not exist in JDBC 2, but does exist in InterClient using getParameterMetaData().
getParameterMetaData()
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
parameterIndex
- the first parameter is 1, the second is 2, ...x
- the parameter valuepublic ResultSetMetaData getResultSetMetaData() throws SQLException
This method has been deprecated since this functionality is now provided by the JDBC 2 method PreparedStatement.getMetaData().
getMetaData()
public ParameterMetaData getParameterMetaData() throws SQLException
ParameterMetaData and this method were proposed for inclusion in JDBC 2.0, but not accepted due to lack of underlying support by some database vendors.
public String getPlan() throws SQLException
The statement must be prepared with setPlan enabled.
|
1.50.39 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |