站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JavaTM 2 Platform Standard Edition 5.0 API 规范中文版

PreparedStatement (Java 2 Platform SE 5.0) - JavaTM 2 Platform Standard Edition 5.0 API 规范中文版

JavaTM 2 Platform
Standard Ed. 5.0

java.sql
接口 PreparedStatement

所有超级接口:
Statement
所有已知子接口:
CallableStatement

public interface PreparedStatement
extends Statement

表示预编译的 SQL 语句的对象。

SQL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句。

注:用来设置 IN 参数值的 setter 方法(setShortsetString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法。

如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数的类型。

在以下设置参数的示例中,con 表示一个活动连接:

   PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   pstmt.setBigDecimal(1, 153833.00)
   pstmt.setInt(2, 110592)
 

另请参见:
Connection.prepareStatement(java.lang.String), ResultSet

字段摘要
 
从接口 java.sql.Statement 继承的字段
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
 
方法摘要
 void addBatch()
          将一组参数添加到此 PreparedStatement 对象的批处理命令中。
 void clearParameters()
          立即清除当前参数值。
 boolean execute()
          在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。
 ResultSet executeQuery()
          在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
 int executeUpdate()
          在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERTUPDATEDELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。
 ResultSetMetaData getMetaData()
          检索包含有关 ResultSet 对象的列消息的 ResultSetMetaData 对象,ResultSet 对象将在执行此 PreparedStatement 对象时返回。
 ParameterMetaData getParameterMetaData()
          检索此 PreparedStatement 对象的参数的编号、类型和属性。
 void setArray(int i, Array x)
          将指定参数设置为给定 Array 对象。
 void setAsciiStream(int parameterIndex, InputStream x, int length)
          将指定参数设置为给定输入流,该输入流将拥有给定字节数。
 void setBigDecimal(int parameterIndex, BigDecimal x)
          将指定参数设置为给定 java.math.BigDecimal 值。
 void setBinaryStream(int parameterIndex, InputStream x, int length)
          将指定参数设置为给定输入流,该输入流将拥有给定字节数。
 void setBlob(int i, Blob x)
          将指定参数设置为给定 Blob 对象。
 void setBoolean(int parameterIndex, boolean x)
          将指定参数设置为给定 Java boolean 值。
 void setByte(int parameterIndex, byte x)
          将指定参数设置为给定 Java byte 值。
 void setBytes(int parameterIndex, byte[] x)
          将指定参数设置为给定 Java 字节数组。
 void setCharacterStream(int parameterIndex, Reader reader, int length)
          将给定参数设置为给定 Reader 对象,后者是给定的字符数长度。
 void setClob(int i, Clob x)
          将指定参数设置为给定 Clob 对象。
 void setDate(int parameterIndex, Date x)
          将指定参数设置为给定 java.sql.Date 值。
 void setDate(int parameterIndex, Date x, Calendar cal)
          使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。
 void setDouble(int parameterIndex, double x)
          将指定参数设置为给定 Java double 值。
 void setFloat(int parameterIndex, float x)
          将指定参数设置为给定 Java float 值。
 void setInt(int parameterIndex, int x)
          将指定参数设置为给定 Java int 值。
 void setLong(int parameterIndex, long x)
          将指定参数设置为给定 Java long 值。
 void setNull(int parameterIndex, int sqlType)
          将指定参数设置为 SQL NULL
 void setNull(int paramIndex, int sqlType, String typeName)
          将指定参数设置为 SQL NULL
 void setObject(int parameterIndex, Object x)
          使用给定对象设置指定参数的值。
 void setObject(int parameterIndex, Object x, int targetSqlType)
          使用给定对象设置指定参数的值。
 void setObject(int parameterIndex, Object x, int targetSqlType, int scale)
          使用给定对象设置指定参数的值。
 void setRef(int i, Ref x)
          将指定参数设置为给定 REF(<structured-type>) 值。
 void setShort(int parameterIndex, short x)
          将指定参数设置为给定 Java short 值。
 void setString(int parameterIndex, String x)
          将指定参数设置为给定 Java String 值。
 void setTime(int parameterIndex, Time x)
          将指定参数设置为给定 java.sql.Time 值。
 void setTime(int parameterIndex, Time x, Calendar cal)
          使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。
 void setTimestamp(int parameterIndex, Timestamp x)
          将指定参数设置为给定 java.sql.Timestamp 值。
 void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
          使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。
 void setUnicodeStream(int parameterIndex, InputStream x, int length)
          已过时。  
 void setURL(int parameterIndex, URL x)
          将指定参数设置为给定 java.net.URL 值。
 
从接口 java.sql.Statement 继承的方法
addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout
 

方法详细信息

executeQuery

ResultSet executeQuery()
                       throws SQLException
在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。

返回:
包含该查询生成的数据的 ResultSet 对象;从不返回 null
抛出:
SQLException - 如果发生数据库访问错误或者 SQL 语句没有返回一个 ResultSet 对象

executeUpdate

int executeUpdate()
                  throws SQLException
在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERTUPDATEDELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。

返回:
(1) 对于 INSERTUPDATEDELETE 语句,返回行数 (2) 或者对于什么都不返回的 SQL 语句,返回 0
抛出:
SQLException - 如果发生数据库访问错误或者 SQL 语句返回一个 ResultSet 对象

setNull

void setNull(int parameterIndex,
             int sqlType)
             throws SQLException
将指定参数设置为 SQL NULL

注:必须指定参数的 SQL 类型。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - java.sql.Types 中定义的 SQL 类型码
抛出:
SQLException - 如果发生数据库访问错误

setBoolean

void setBoolean(int parameterIndex,
                boolean x)
                throws SQLException
将指定参数设置为给定 Java boolean 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL BIT 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setByte

void setByte(int parameterIndex,
             byte x)
             throws SQLException
将指定参数设置为给定 Java byte 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL TINYINT 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setShort

void setShort(int parameterIndex,
              short x)
              throws SQLException
将指定参数设置为给定 Java short 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL SMALLINT 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setInt

void setInt(int parameterIndex,
            int x)
            throws SQLException
将指定参数设置为给定 Java int 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL INTEGER 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setLong

void setLong(int parameterIndex,
             long x)
             throws SQLException
将指定参数设置为给定 Java long 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL BIGINT 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setFloat

void setFloat(int parameterIndex,
              float x)
              throws SQLException
将指定参数设置为给定 Java float 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL FLOAT 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setDouble

void setDouble(int parameterIndex,
               double x)
               throws SQLException
将指定参数设置为给定 Java double 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL DOUBLE 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setBigDecimal

void setBigDecimal(int parameterIndex,
                   BigDecimal x)
                   throws SQLException
将指定参数设置为给定 java.math.BigDecimal 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL NUMERIC 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setString

void setString(int parameterIndex,
               String x)
               throws SQLException
将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHARLONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的相对大小)。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setBytes

void setBytes(int parameterIndex,
              byte[] x)
              throws SQLException
将指定参数设置为给定 Java 字节数组。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARBINARYLONGVARBINARY 值(取决于该参数相对于驱动程序在 VARBINARY 值上的限制的相对大小)。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setDate

void setDate(int parameterIndex,
             Date x)
             throws SQLException
将指定参数设置为给定 java.sql.Date 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL DATE 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setTime

void setTime(int parameterIndex,
             Time x)
             throws SQLException
将指定参数设置为给定 java.sql.Time 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL TIME 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setTimestamp

void setTimestamp(int parameterIndex,
                  Timestamp x)
                  throws SQLException
将指定参数设置为给定 java.sql.Timestamp 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL TIMESTAMP 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
抛出:
SQLException - 如果发生数据库访问错误

setAsciiStream

void setAsciiStream(int parameterIndex,
                    InputStream x,
                    int length)
                    throws SQLException
将指定参数设置为给定输入流,该输入流将拥有给定字节数。在将一个非常大的 ASCII 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 将它发送给参数可能更实际一些。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。

注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含 ASCII 参数值的 Java 输入流
length - 流中的字节数
抛出:
SQLException - 如果发生数据库访问错误

setUnicodeStream

@Deprecated
void setUnicodeStream(int parameterIndex,
                                 InputStream x,
                                 int length)
                      throws SQLException
已过时。 

将指定参数设置为给定输入流,该输入流将拥有给定字节数。一个 Unicode 字符有两个字节,第一个字节是高字节,第二个字节是低字节。在将一个非常大的 Unicode 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 对象将它发送给该参数可能更实际一些。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 Unicode 到数据库 char 格式的任何必要转换。

注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含两字节 Unicode 字符形式 Unicode 参数值的 java.io.InputStream 对象
length - 流中的字节数
抛出:
SQLException - 如果发生数据库访问错误

setBinaryStream

void setBinaryStream(int parameterIndex,
                     InputStream x,
                     int length)
                     throws SQLException
将指定参数设置为给定输入流,该输入流将拥有给定字节数。在将一个非常大的二进制值输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象将它发送给该参数可能更实际一些。将根据需要从流中读取数据,一直读取到文件末尾。

注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含二进制参数值的 Java 输入流
length - 流中的字节数
抛出:
SQLException - 如果发生数据库访问错误

clearParameters

void clearParameters()
                     throws SQLException
立即清除当前参数值。

通常参数值对语句的重复使用仍然有效。设置一个参数值会自动清除其以前的值。不过,在某些情况下,直接释放当前参数值使用的资源也是很有用的;这可以通过调用 clearParameters 方法来实现。

抛出:
SQLException - 如果发生数据库访问错误

setObject

void setObject(int parameterIndex,
               Object x,
               int targetSqlType,
               int scale)
               throws SQLException

使用给定对象设置指定参数的值。第二个参数必须是一个对象类型;对于整数值,应该使用 java.lang 的等效对象。

在发送到数据库之前,给定 Java 对象将被转换为给定 targetSqlType。如果对象具有自定义映射关系(属于实现 SQLData 接口的类),则 JDBC 驱动程序应该调用 SQLData.writeSQL 方法将它写入 SQL 数据流中。另一方面,如果该对象是实现 RefBlobClobStructArray 的类,则驱动程序应该将它作为相应 SQL 类型的值传递给数据库。

注意,此方法可用于传递特定于数据库的抽象数据类型。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含输入参数值的对象
targetSqlType - 将发送给数据库的 SQL 类型(定义于 java.sql.Types 中)。scale 参数可以进一步限定此类型。
scale - 对于 java.sql.Types.DECIMAL 或 java.sql.Types.NUMERIC 类型,该参数是小数点后的位数。对于所有其他类型,将忽略此值。
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
Types

setObject

void setObject(int parameterIndex,
               Object x,
               int targetSqlType)
               throws SQLException
使用给定对象设置指定参数的值。除了假定 scale 为零,此方法类似于上面的 setObject 方法。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含输入参数值的对象
targetSqlType - 将发送给数据库的 SQL 类型(定义于 java.sql.Types 中)
抛出:
SQLException - 如果发生数据库访问错误

setObject

void setObject(int parameterIndex,
               Object x)
               throws SQLException

使用给定对象设置指定参数的值。第二个参数必须是类型 Object;所以,应该对内置类型使用 java.lang 的等效对象。

JDBC 规范指定了一个从 Java Object 类型到 SQL 类型的标准映射关系。在发送到数据库之前,给定参数将被转换为相应 SQL 类型。

注意,通过使用特定于驱动程序的 Java 类型,此方法可用于传递特定于数据库的抽象数据类型。如果对象是实现 SQLData 接口的类,则 JDBC 驱动程序应该调用 SQLData.writeSQL 方法将它写入 SQL 数据流中。另一方面,如果该对象是实现 RefBlobClobStructArray 的类,则驱动程序应该将它作为相应 SQL 类型的值传递给数据库。

如果出现混淆,例如如果该对象是实现超过一个上述指定接口的类,则此方法抛出异常。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 包含输入参数值的对象
抛出:
SQLException - 如果发生数据库访问错误或者给定对象的类型不明确

execute

boolean execute()
                throws SQLException
在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些特别处理过的语句返回多个结果,execute 方法处理这些复杂的语句,executeQueryexecuteUpdate 处理形式更简单的语句。

execute 方法返回一个 boolean 值,以指示第一个结果的形式。必须调用 getResultSetgetUpdateCount 方法来检索结果,并且必须调用 getMoreResults 移动到任何后面的结果。

返回:
如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者为此方法提供一个参数
另请参见:
Statement.execute(java.lang.String), Statement.getResultSet(), Statement.getUpdateCount(), Statement.getMoreResults()

addBatch

void addBatch()
              throws SQLException
将一组参数添加到此 PreparedStatement 对象的批处理命令中。

抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2
另请参见:
Statement.addBatch(java.lang.String)

setCharacterStream

void setCharacterStream(int parameterIndex,
                        Reader reader,
                        int length)
                        throws SQLException
将给定参数设置为给定 Reader 对象,后者是给定的字符数长度。在将一个非常大的 UNICODE 值输入到 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更实际一些。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。

注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
reader - 包含 Unicode 数据的 java.io.Reader 对象
length - 流中的字符数
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setRef

void setRef(int i,
            Ref x)
            throws SQLException
将指定参数设置为给定 REF(<structured-type>) 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL REF 值。

参数:
i - 第一个参数是 1,第二个参数是 2,依此类推。
x - 一个 SQL REF
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setBlob

void setBlob(int i,
             Blob x)
             throws SQLException
将指定参数设置为给定 Blob 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL BLOB 值。

参数:
i - 第一个参数是 1,第二个参数是 2,依此类推。
x - 一个映射 SQL BLOB 值的 Blob 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setClob

void setClob(int i,
             Clob x)
             throws SQLException
将指定参数设置为给定 Clob 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL CLOB 值。

参数:
i - 第一个参数是 1,第二个参数是 2,依此类推。
x - 一个映射 SQL Clob 值的 Clob 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setArray

void setArray(int i,
              Array x)
              throws SQLException
将指定参数设置为给定 Array 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL ARRAY 值。

参数:
i - 第一个参数是 1,第二个参数是 2,依此类推。
x - 一个映射 SQL Array 值的 Array 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

getMetaData

ResultSetMetaData getMetaData()
                              throws SQLException
检索包含有关 ResultSet 对象的列消息的 ResultSetMetaData 对象,ResultSet 对象将在执行此 PreparedStatement 对象时返回。

因为 PreparedStatement 对象被预编译,所以可以知道不必执行就会返回的 ResultSet 对象。因此,可以在 PreparedStatement 对象上调用 getMetaData 方法,而不必等待执行该对象,然后在返回的 ResultSet 对象上调用 ResultSet.getMetaData 方法。

注:对于某些驱动程序而言,因为缺乏基础 DBMS 支持,所以使用此方法开销可能很大。

返回:
ResultSet 对象的列的描述,如果驱动程序无法返回一个 ResultSetMetaData 对象,则返回 null
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setDate

void setDate(int parameterIndex,
             Date x,
             Calendar cal)
             throws SQLException
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。驱动程序使用 Calendar 对象构造一个 SQL DATE 值,驱动程序随后将该值发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何 Calendar 对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机所在的时区。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
cal - 驱动程序将用来构造日期的 Calendar 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setTime

void setTime(int parameterIndex,
             Time x,
             Calendar cal)
             throws SQLException
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。驱动程序使用 Calendar 对象构造一个 SQL TIME 值,驱动程序随后将该值发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间。如果没有指定任何 Calendar 对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机所在的时区。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
cal - 驱动程序将用来构造时间的 Calendar 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setTimestamp

void setTimestamp(int parameterIndex,
                  Timestamp x,
                  Calendar cal)
                  throws SQLException
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。驱动程序使用 Calendar 对象构造一个 SQL TIMESTAMP 值,驱动程序随后将该值发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间戳。如果没有指定任何 Calendar 对象,则驱动程序使用默认时区,该时区是正在运行应用程序的虚拟机所在的时区。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值
cal - 驱动程序将用来构造时间戳的 Calendar 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setNull

void setNull(int paramIndex,
             int sqlType,
             String typeName)
             throws SQLException
将指定参数设置为 SQL NULL。这种版本的 setNull 方法应该用于用户定义的类型或 REF 类型参数。用户定义类型的示例包括:STRUCT、DISTINCT、JAVA_OBJECT 和命名数组类型。

注:为了便于移植,在指定 NULL 用户定义参数或 REF 参数时,应用程序必须提供 SQL 类型代码和完全限定的 SQL 类型名称。在用户定义类型的情况下,名称是参数本身的类型名称。对于 REF 参数,名称是所引用类型的类型名称。如果 JDBC 驱动程序不需要类型代码和类型名称信息,那么它可以忽略这些信息。尽管打算使此方法供用户定义的参数和 Ref 参数使用,但可以使用此方法来设置任意 JDBC 类型的 null 参数。如果该参数没有用户定义的类型或 REF 类型,则忽略给定的 typeName。

参数:
paramIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - 来自 java.sql.Types 的一个值
typeName - SQL 用户定义类型的完全限定名称;如果该参数不是用户定义类型或 REF,则忽略它
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

setURL

void setURL(int parameterIndex,
            URL x)
            throws SQLException
将指定参数设置为给定 java.net.URL 值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL DATALINK 值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 要设置的 java.net.URL 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getParameterMetaData

ParameterMetaData getParameterMetaData()
                                       throws SQLException
检索此 PreparedStatement 对象的参数的编号、类型和属性。

返回:
一个 ParameterMetaData 对象,它包含有关此 PreparedStatement 对象的参数的编号、类型和属性的信息
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4
另请参见:
ParameterMetaData

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策