• 相关软件
    >PreparedStatement 创建者:webmaster 更新时间:2005-12-17 02:17

    一条SQL 语句是预编译的且存放在 PreparedStatement 对象中。该对象可用于有效地多次执行该语句。

    注意: 用于设置 IN 参数值的 setXXX 方法必须指定与定义的输入参数的 SQL type 兼容的类型。例如,如果 IN 参数有 SQL type Integer ,则应使用 setInt 方法。

    如果需要任意的参数类型转换则 setObject 方法应当与目标 SQL type 一起使用。




    接口 java.sql.PreparedStatement



    public interface PreparedStatement
    extends Statement



     
    参见:
     
    prepareStatement, ResultSet





    方法索引



    clearParameters()
    通常,参数值保持有效,以便于重复使用一条语句。
    execute()
    某些准备好的语句返回多个结果集;执行方法处理这些复杂的语句和更简单形式的语句一样,都是通过使用 executeQuery 和 executeUpdate 方法。
    executeQuery()
    执行准备好的 SQL 查询并返回 ResultSet 。
    executeUpdate()
    执行一条 SQL INSERT、UPDATE 或 DELETE 语句。
    setAsciiStream(int, InputStream, int)
    当一个非常大的 ASCII 值输入到 LONGVARCHAR 参数,通过 java.io.InputStream 发送它更实际些。
    setBigDecimal(int, BigDecimal)
    设置一个参数为 java.lang.BigDecimal 值。
    setBinaryStream(int, InputStream, int)
    当一个非常大的二进制值输入到 LONGVARBINARY 参数,通过 java.io.InputStream 发送它更实际些。
    setBoolean(int, boolean)
    设置一个参数为 Java boolean 值。
    setByte(int, byte)
    设置一个参数为 Java byte 值。
    setBytes(int, byte[])
    设置一个参数为 Java 字节数组。
    setDate(int, Date)
    设置一个参数为 java.sql.Date 值。
    setDouble(int, double)
    设置一个参数为 Java double 值。
    setFloat(int, float)
    设置一个参数为 Java float 值。
    setInt(int, int)
    设置一个参数为 Java int 值。
    setLong(int, long)
    设置一个参数为 Java long 值。
    setNull(int, int)
    设置一个参数为 SQL NULL。
    setObject(int, Object)
    使用一个对象设置参数值;对于整数值使用和 java.lang
    等价的对象。
    setObject(int, Object, int)
    该方法类似以上的 setObject 方法,但是假设小数位数为零。
    setObject(int, Object, int, int)
    使用一个对象设置参数值;对于整数值使用与 java.lang 等价的对象。
    setShort(int, short)
    设置一个参数为 Java short 值。
    setString(int, String)
    设置一个参数为 Java String 值。
    setTime(int, Time)
    设置一个参数为 java.sql.Date 值。
    setTimestamp(int, Timestamp)
    设置一个参数为 java.sql.Timestamp 值。
    setUnicodeStream(int, InputStream, int)
    当一个非常大的 UNICODE 值输入到 LONGVARCHAR 参数,通过 java.io.InputStream 发送它更实际些。




    方法



    executeQuery

    public abstract ResultSet executeQuery() throws SQLException


    执行准备好的 SQL 查询并返回 ResultSet 。



     
    返回值:
     
    包含由查询产生的数据的 ResultSet;永远不会为 null 。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    executeUpdate

    public abstract int executeUpdate() throws SQLException


    执行一条 SQL INSERT、UPDATE 或 DELETE 语句。 另外,可执行没有返回值的 SQL 语句,如 SQL DDL 语句。



     
    返回值:
     
    为 INSERT、UPDATE 或 DELETE 返回行数,对没有返回值的 SQL 语句则返回 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setNull

    public abstract void setNull(int parameterIndex,
                        int sqlType) throws SQLException


    设置一个参数为 SQL NULL。

    注意:必须指定参数的 SQL type 。



     
    参数:
     
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
     
    sqlType - java.sql.Types 定义的 SQL type 代码
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setBoolean

    public abstract void setBoolean(int parameterIndex,
                          boolean x) throws SQLException


    设置一个参数为 Java boolean 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL BIT 值。



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



    setByte

    public abstract void setByte(int parameterIndex,
                        byte x) throws SQLException


    设置一个参数为 Java byte 值。 当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL TINYINT 值。



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



    setShort

    public abstract void setShort(int parameterIndex,
                        short x) throws SQLException


    设置一个参数为 Java short 值。 当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL SMALLINT 值。



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



    setInt

    public abstract void setInt(int parameterIndex,
                      int x) throws SQLException


    设置一个参数为 Java int 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL INTEGER 值。



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



    setLong

    public abstract void setLong(int parameterIndex,
                        long x) throws SQLException


    设置一个参数为 Java long 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL BIGINT 值。



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



    setFloat

    public abstract void setFloat(int parameterIndex,
                        float x) throws SQLException


    设置一个参数为 Java float 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL FLOAT 值。



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



    setDouble

    public abstract void setDouble(int parameterIndex,
                        double x) throws SQLException


    设置一个参数为 Java double 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL DOUBLE 值。



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



    setBigDecimal

    public abstract void setBigDecimal(int parameterIndex,
                            BigDecimal x) throws SQLException


    设置一个参数为 java.lang.BigDecimal 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL NUMERIC 值。



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



    setString

    public abstract void setString(int parameterIndex,
                        String x) throws SQLException


    设置一个参数为 Java String 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL INTEGER 值。



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



    setBytes

    public abstract void setBytes(int parameterIndex,
                        byte x[]) throws SQLException


    设置一个参数为 Java 字节数组。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL INTEGER 值。



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



    setDate

    public abstract void setDate(int parameterIndex,
                        Date x) throws SQLException


    设置一个参数为 java.sql.Date 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL DATE 值。



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



    setTime

    public abstract void setTime(int parameterIndex,
                        Time x) throws SQLException


    设置一个参数为 java.sql.Date 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL TIME 值。



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



    setTimestamp

    public abstract void setTimestamp(int parameterIndex,
                          Timestamp x) throws SQLException


    设置一个参数为 java.sql.Timestamp 值。当驱动程序把该值发送到数据库时驱动程序把该值转换为一个 SQL TIMESTAMP 值。



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



    setAsciiStream

    public abstract void setAsciiStream(int parameterIndex,
                            InputStream x,
                            int length) throws SQLException


    当一个非常大的 ASCII 值输入到 LONGVARCHAR 参数,通过 java.io.InputStream 发送它更实际些。
    JDBC 将按需要从流中读数据直到到达文件结尾。
    JDBC 驱动程序将做从 ASCII 到 数据库 char 格式的任何必要的转换。

    注意:这个流对象可以是标准的 Java 流对象或您自己的实现了标准接口的子类。



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



    setUnicodeStream

    public abstract void setUnicodeStream(int parameterIndex,
                              InputStream x,
                              int length) throws SQLException


    当一个非常大的 UNICODE 值输入到 LONGVARCHAR 参数,通过 java.io.InputStream 发送它更实际些。
    JDBC 将按需要从流中读数据直到到达文件结尾。
    JDBC 驱动程序将做从 UNICODE 到 数据库 char 格式的任何必要的转换。

    注意:这个流对象可以是标准的 Java 流对象或您自己的实现了标准接口的子类。



     
    参数:
     
    parameterIndex - 第一个参数是 1, 第二个是 2, ...
     
    x - 包含 UNCODE 参数值的 java 输入流
     
    length - 流中的字节数
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setBinaryStream

    public abstract void setBinaryStream(int parameterIndex,
                            InputStream x,
                            int length) throws SQLException


    当一个非常大的 binary 值输入到 LONGVARBINARY 参数,通过 java.io.InputStream 发送它更实际些。 JDBC 将按需要从流中读数据直到到达文件结尾。

    注意:这个流对象可以是标准的 Java 流对象或您自己的实现了标准接口的子类。



     
    参数:
     
    parameterIndex - 第一个参数是 1, 第二个参数是 2, ...
     
    x - 包含 binary 参数值的 java 输入流
     
    length - 流中的字节数
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    clearParameters

    public abstract void clearParameters() throws SQLException


    通常,参数值保持有效,以便于重复使用一条语句。 设置一个参数值会自动清除它以前的值。但是,在某些情况下,立即释放当前参数值使用的资源是有用的;这可以通过调用 clearParameters 来实现。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setObject

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


    使用一个对象设置参数的值;对于整数值使用与 java.lang 等价的对象。

    给定的 Java 对象将在发送到数据库之前被转换成 targetSqlType。

    注意,该方法可用于传递数据库特定的抽象的数据类型。这可通过使用驱动程序特定的 Java 类型和使用 java.sql.types.OTHER 的
    targetSqlType 来实现。



     
    参数:
     
    parameterIndex - 第一个参数是 1, 第二个参数是 2, ...
     
    x - 包含输入参数值的对象
    targetSqlType - 发送到数据库的 SQL type (如 java.sql.Types 中所定义的)。小数位数参数可是该类型进一步合理化。
     
    scale - 对于 java.sql.Types.DECIMAL 或
    java.sql.Types.NUMERIC 类型,这是小数点后的数字个数。对所有其它类型该值将被忽略。
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    Types



    setObject

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


    该方法类似以上的 setObject 方法,但是假设小数位数为零。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setObject

    public abstract void setObject(int parameterIndex,
                        Object x) throws SQLException


    使用一个对象设置参数值;对于整数值值使用与
    java.lang 等价的对象。

    JDBC 规范指定了从 Java Object 类型到 SQL 类型的标准映射。给定的参数 java 对象将在被发送到数据库之前转换成相应的 SQL type。

    注意,该方法可通过使用特定于驱动程序的 Java 类型把特定的抽象数据类型传递给数据库。



     
    参数:
     
    parameterIndex - 第一个参数是 1, 第二个参数是 2, ...
     
    x - 包含输入参数值的对象
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    execute

    public abstract boolean execute() throws SQLException


    某些准备好的语句返回多个结果集;执行方法处理这些复杂的语句和更简单形式的语句一样,都是通过使用 executeQuery 和 executeUpdate 方法来处理。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    execute

    相关文章
    本页查看次数: