所有类


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 - 如果发生数据库访问错误

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部