-  
       
- All Superinterfaces:
 -  
         
AutoCloseable,Statement,Wrapper 
- All Known Subinterfaces:
 -  
         
CallableStatement 
public interface PreparedStatement extends Statement
表示预编译的SQL语句的对象。SQL语句已预编译并存储在一个
PreparedStatement对象中。 然后可以使用该对象多次有效地执行此语句。注意:setter方法(
setShort,setString用于设置IN参数值必须指定与所定义的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)- 从以下版本开始:
 - 1.1
 - 另请参见:
 -  
         
Connection.prepareStatement(java.lang.String),ResultSet 
 
-  
        
       
-  
             
Field Summary
-  
               
Fields inherited from interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO 
 -  
               
 
-  
             
方法摘要
所有方法 接口方法 抽象方法 Default Methods 弃用的方法 Modifier and Type 方法 描述 voidaddBatch()向这个PreparedStatement对象的一批命令添加一组参数。voidclearParameters()立即清除当前参数值。booleanexecute()执行此PreparedStatement对象中的SQL语句,可能是任何类型的SQL语句。default longexecuteLargeUpdate()执行在该SQL语句PreparedStatement对象,它必须是一个SQL数据操纵语言(DML)语句,比如INSERT,UPDATE或DELETE; 或不返回任何内容的SQL语句,例如DDL语句。ResultSetexecuteQuery()执行此PreparedStatement对象中的SQL查询,并返回查询生成的ResultSet对象。intexecuteUpdate()执行在该SQL语句PreparedStatement对象,它必须是一个SQL数据操纵语言(DML)语句,比如INSERT,UPDATE或DELETE; 或不返回任何内容的SQL语句,例如DDL语句。ResultSetMetaDatagetMetaData()检索ResultSetMetaData对象,该对象包含有关执行此PreparedStatement对象时将返回的ResultSet对象的列的信息。ParameterMetaDatagetParameterMetaData()检索此PreparedStatement对象的参数的数量,类型和属性。voidsetArray(int parameterIndex, Array x)将指定的参数设置为给定的java.sql.Array对象。voidsetAsciiStream(int parameterIndex, InputStream x)将指定的参数设置为给定的输入流。voidsetAsciiStream(int parameterIndex, InputStream x, int length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetAsciiStream(int parameterIndex, InputStream x, long length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetBigDecimal(int parameterIndex, BigDecimal x)将指定的参数设置为给定的java.math.BigDecimal值。voidsetBinaryStream(int parameterIndex, InputStream x)将指定的参数设置为给定的输入流。voidsetBinaryStream(int parameterIndex, InputStream x, int length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetBinaryStream(int parameterIndex, InputStream x, long length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetBlob(int parameterIndex, InputStream inputStream)将指定的参数设置为InputStream对象。voidsetBlob(int parameterIndex, InputStream inputStream, long length)将指定的参数设置为InputStream对象。voidsetBlob(int parameterIndex, Blob x)将指定的参数设置为给定的java.sql.Blob对象。voidsetBoolean(int parameterIndex, boolean x)将指定的参数设置为给定的Javaboolean值。voidsetByte(int parameterIndex, byte x)将指定的参数设置为给定的Javabyte值。voidsetBytes(int parameterIndex, byte[] x)将指定的参数设置为给定的Java字节数组。voidsetCharacterStream(int parameterIndex, Reader reader)将指定的参数设置为给定的Reader对象。voidsetCharacterStream(int parameterIndex, Reader reader, int length)将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。voidsetCharacterStream(int parameterIndex, Reader reader, long length)将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。voidsetClob(int parameterIndex, Reader reader)将指定的参数设置为Reader对象。voidsetClob(int parameterIndex, Reader reader, long length)将指定的参数设置为Reader对象。voidsetClob(int parameterIndex, Clob x)将指定的参数设置为给定的java.sql.Clob对象。voidsetDate(int parameterIndex, Date x)使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。voidsetDate(int parameterIndex, Date x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。voidsetDouble(int parameterIndex, double x)将指定的参数设置为给定的Javadouble值。voidsetFloat(int parameterIndex, float x)将指定的参数设置为给定的Javafloat值。voidsetInt(int parameterIndex, int x)将指定的参数设置为给定的Javaint值。voidsetLong(int parameterIndex, long x)将指定的参数设置为给定的Javalong值。voidsetNCharacterStream(int parameterIndex, Reader value)将指定的参数设置为Reader对象。voidsetNCharacterStream(int parameterIndex, Reader value, long length)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, Reader reader)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, Reader reader, long length)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, NClob value)将指定的参数设置为java.sql.NClob对象。voidsetNString(int parameterIndex, String value)将指定的参数设置为给定的String对象。voidsetNull(int parameterIndex, int sqlType)将指定的参数设置为SQLNULL。voidsetNull(int parameterIndex, int sqlType, String typeName)将指定的参数设置为SQLNULL。voidsetObject(int parameterIndex, Object x)使用给定对象设置指定参数的值。voidsetObject(int parameterIndex, Object x, int targetSqlType)使用给定对象设置指定参数的值。voidsetObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)使用给定对象设置指定参数的值。default voidsetObject(int parameterIndex, Object x, SQLType targetSqlType)使用给定对象设置指定参数的值。default voidsetObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)使用给定对象设置指定参数的值。voidsetRef(int parameterIndex, Ref x)将指定的参数设置为给定的REF(<structured-type>)值。voidsetRowId(int parameterIndex, RowId x)将指定的参数设置为给定的java.sql.RowId对象。voidsetShort(int parameterIndex, short x)将指定的参数设置为给定的Javashort值。voidsetSQLXML(int parameterIndex, SQLXML xmlObject)将指定的参数设置为给定的java.sql.SQLXML对象。voidsetString(int parameterIndex, String x)将指定的参数设置为给定的JavaString值。voidsetTime(int parameterIndex, Time x)将指定的参数设置为给定的java.sql.Time值。voidsetTime(int parameterIndex, Time x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Time值。voidsetTimestamp(int parameterIndex, Timestamp x)将指定的参数设置为给定的java.sql.Timestamp值。voidsetTimestamp(int parameterIndex, Timestamp x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Timestamp值。voidsetUnicodeStream(int parameterIndex, InputStream x, int length)已过时。使用setCharacterStreamvoidsetURL(int parameterIndex, URL x)将指定的参数设置为给定的java.net.URL值。-  
               
Methods inherited from interface java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout 
-  
               
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
executeQuery
ResultSet executeQuery() throws SQLException
执行此PreparedStatement对象中的SQL查询,并返回查询生成的ResultSet对象。- 结果
 -  
              一个
ResultSet对象,其中包含查询产生的数据; 从不null - 异常
 -  
              
SQLException- 如果发生数据库访问错误; 这个方法在一个封闭的PreparedStatement上被调用,或者SQL语句不返回一个ResultSet对象 -  
              
SQLTimeoutException- 当驱动程序确定已经超过了setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement 
 
-  
executeUpdate
int executeUpdate() throws SQLException执行在该SQL语句PreparedStatement对象,它必须是一个SQL数据操纵语言(DML)语句,比如INSERT,UPDATE或DELETE; 或不返回任何内容的SQL语句,例如DDL语句。- 结果
 - (1)SQL数据操作语言(DML)语句的行计数或(2)0不返回的SQL语句
 - 异常
 -  
              
SQLException- 如果发生数据库访问错误; 这个方法在一个封闭的PreparedStatement上被调用,或者SQL语句返回一个ResultSet对象 -  
              
SQLTimeoutException- 当驱动程序确定已超过setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement 
 
-  
setNull
void setNull(int parameterIndex, int sqlType) throws SQLException将指定的参数设置为SQLNULL。注意:您必须指定参数的SQL类型。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
sqlType- 在java.sql.Types定义的SQL类型代码 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException-如果sqlType是ARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML或STRUCT数据类型和JDBC驱动程序不支持此数据类型 
 
-  
setBoolean
void setBoolean(int parameterIndex, boolean x) throws SQLException将指定的参数设置为给定的Javaboolean值。 当驱动程序将其发送到数据库时,将其转换为SQLBIT或BOOLEAN值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setByte
void setByte(int parameterIndex, byte x) throws SQLException将指定的参数设置为给定的Javabyte值。 当驱动程序将其发送到数据库时,将其转换为SQLTINYINT值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setShort
void setShort(int parameterIndex, short x) throws SQLException将指定的参数设置为给定的Javashort值。 当驱动程序将其发送到数据库时,将其转换为SQLSMALLINT值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setInt
void setInt(int parameterIndex, int x) throws SQLException将指定的参数设置为给定的Javaint值。 当驱动程序将其发送到数据库时,将其转换为SQLINTEGER值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setLong
void setLong(int parameterIndex, long x) throws SQLException将指定的参数设置为给定的Javalong值。 当驱动程序将其发送到数据库时,将其转换为SQLBIGINT值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setFloat
void setFloat(int parameterIndex, float x) throws SQLException将指定的参数设置为给定的Javafloat值。 当驱动程序将其发送到数据库时,将其转换为SQLREAL值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setDouble
void setDouble(int parameterIndex, double x) throws SQLException将指定的参数设置为给定的Javadouble值。 当驱动程序将其发送到数据库时,将其转换为SQLDOUBLE值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setBigDecimal
void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException将指定的参数设置为给定的java.math.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQLNUMERIC值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setString
void setString(int parameterIndex, String x) throws SQLException将指定的参数设置为给定的JavaString值。 当驱动程序将其发送到数据库时,将其转换为SQLVARCHAR或LONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR的限制的大小)的大小。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setBytes
void setBytes(int parameterIndex, byte[] x) throws SQLException将指定的参数设置为给定的Java字节数组。 驱动程序将其转换为SQLVARBINARY或LONGVARBINARY(取决于参数相对于驱动程序对VARBINARY值的限制的大小),当它发送到数据库时。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setDate
void setDate(int parameterIndex, Date x) throws SQLException使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQLDATE值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setTime
void setTime(int parameterIndex, Time x) throws SQLException将指定的参数设置为给定的java.sql.Time值。 当驱动程序将其发送到数据库时,将其转换为SQLTIME值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException将指定的参数设置为给定的java.sql.Timestamp值。 当驱动程序将其发送到数据库时,将其转换为SQLTIMESTAMP值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException将指定的参数设置为给定的输入流,它将具有指定的字节数。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含ASCII参数值的Java输入流 -  
              
length- 流中的字节数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
setUnicodeStream
@Deprecated(since="1.2") void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
已过时。 使用setCharacterStream将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的Unicode值输入到LONGVARCHAR参数时,通过java.io.InputStream对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从Unicode到数据库字符格式进行任何必要的转换。 Unicode流的字节格式必须是Java虚拟机规范中定义的Java UTF-8。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含Unicode参数值的java.io.InputStream对象 -  
              
length- 流中的字节数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 
 
-  
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过java.io.InputStream对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含二进制参数值的java输入流 -  
              
length- 流中的字节数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 
 
-  
clearParameters
void clearParameters() throws SQLException立即清除当前参数值。一般来说,参数值仍然有效用于重复使用语句。 设置参数值将自动清除其以前的值。 然而,在某些情况下,立即释放当前参数值使用的资源是有用的; 这可以通过调用方法
clearParameters来完成。- 异常
 -  
              
SQLException- 如果发生数据库访问错误或此方法在已关闭的PreparedStatement 
 
-  
setObject
void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException使用给定对象设置指定参数的值。 该方法类似于setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength),除了它假定为零。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含输入参数值的对象 -  
              
targetSqlType- 要发送到数据库的SQL类型(在java.sql.Types中定义) - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持指定的targetSqlType - 另请参见:
 -  
              
Types 
 
-  
setObject
void setObject(int parameterIndex, Object x) throws SQLException使用给定对象设置指定参数的值。
JDBC规范规定了从Java
Object类型到SQL类型的标准映射。 在发送给数据库之前,给定的参数将被转换为相应的SQL类型。请注意,该方法可以用于通过使用特定于驱动程序的Java类型来传递特定于数据库的抽象数据类型。 如果对象是实现接口
SQLData的类,则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类Ref,Blob,Clob,NClob,Struct,java.net.URL,RowId,SQLXML或Array,驾驶员应把它传递给数据库作为相应SQL类型的值。注意:并非所有数据库都允许将非类型的Null发送到后端。 为了最大可移植性,应使用
setNull或setObject(int parameterIndex, Object x, int sqlType)方法代替setObject(int parameterIndex, Object x)。注意:如果存在歧义,则此方法会引发异常,例如,如果对象是实现多个上述接口的类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含输入参数值的对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 这个方法在一个封闭的PreparedStatement上被调用,或给定对象的类型是不明确的 
 
-  
execute
boolean execute() throws SQLException执行此PreparedStatement对象中的SQL语句,可能是任何类型的SQL语句。 一些准备的语句返回多个结果;execute方法处理这些复杂语句以及由方法executeQuery和executeUpdate处理的更简单的语句形式。execute方法返回一个boolean以指示第一个结果的形式。 您必须调用方法getResultSet或getUpdateCount来检索结果; 您必须致电getMoreResults才能转到任何后续结果。- 结果
 -  
              
true如果第一个结果是一个ResultSet对象;false如果第一个结果是更新计数或没有结果 - 异常
 -  
              
SQLException- 如果发生数据库访问错误; 这个方法在一个关闭的PreparedStatement上调用,或者这个方法提供一个参数 -  
              
SQLTimeoutException- 当驱动程序确定已经超过setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement - 另请参见:
 -  
              
Statement.execute(java.lang.String),Statement.getResultSet(),Statement.getUpdateCount(),Statement.getMoreResults() 
 
-  
addBatch
void addBatch() throws SQLException向这个PreparedStatement对象的一批命令添加一组参数。- 异常
 -  
              
SQLException- 如果发生数据库访问错误或者在关闭的PreparedStatement调用此方法PreparedStatement - 从以下版本开始:
 - 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到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
reader- 包含Unicode数据的java.io.Reader对象 -  
              
length- 流中的字符数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setRef
void setRef(int parameterIndex, Ref x) throws SQLException将指定的参数设置为给定的REF(<structured-type>)值。 当驱动程序将其发送到数据库时,将其转换为SQLREF值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 一个SQLREF值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setBlob
void setBlob(int parameterIndex, Blob x) throws SQLException将指定的参数设置为给定的java.sql.Blob对象。 当驱动程序将其发送到数据库时,将其转换为SQLBLOB值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 映射SQLBLOB值的Blob对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setClob
void setClob(int parameterIndex, Clob x) throws SQLException将指定的参数设置为给定的java.sql.Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQLCLOB值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 映射SQLCLOB值的Clob对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setArray
void setArray(int parameterIndex, Array x) throws SQLException将指定的参数设置为给定的java.sql.Array对象。 当驱动程序将其发送到数据库时,将其转换为SQLARRAY值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 映射SQLARRAY值的Array对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.2
 
 
-  
getMetaData
ResultSetMetaData getMetaData() throws SQLException
检索ResultSetMetaData对象,该对象包含有关执行此PreparedStatement对象时将返回的ResultSet对象的列的信息。由于
PreparedStatement对象是预编译的,就可以了解ResultSet对象将返回,而不必执行它。 因此,有可能调用的方法getMetaData一个上PreparedStatement对象,而不是等待执行它,然后调用ResultSet.getMetaData的上方法ResultSet返回的对象。注意:由于缺少底层DBMS支持,因此对某些驱动程序而言,使用此方法可能是昂贵的。
- 结果
 - 
               对 
              
ResultSet对象的列或null的描述,如果驱动程序不能返回一个ResultSetMetaData对象 - 异常
 -  
              
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement调用此方法PreparedStatement -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setDate
void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。 驱动程序使用Calendar对象来构造一个SQLDATE值,然后驱动程序将其发送到数据库。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 -  
              
cal- 驱动程序将用于构建日期的Calendar对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setTime
void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException使用给定的Calendar对象将指定的参数设置为给定的java.sql.Time值。 驱动程序使用Calendar对象来构造一个SQLTIME值,然后驱动程序将其发送到数据库。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的时间。 如果未指定Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 -  
              
cal- 驱动程序将用于构建时间的Calendar对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException使用给定的Calendar对象将指定的参数设置为给定的java.sql.Timestamp值。 驱动程序使用Calendar对象来构造一个SQLTIMESTAMP值,然后驱动程序将其发送到数据库。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 -  
              
cal- 驱动程序将用于构建时间戳的Calendar对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.2
 
 
-  
setNull
void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException将指定的参数设置为SQLNULL。 此版本的方法setNull应用于用户定义的类型和REF类型参数。 用户定义类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。注意:为了便于携带,当指定NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。 如果JDBC驱动程序不需要类型代码或类型名称信息,它可能会忽略它。 尽管它是用于用户定义的和参数的参数,但是该方法可以用于设置任何JDBC类型的空值参数。 如果参数没有用户定义或REF类型,则给定的typeName将被忽略。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
sqlType- 一个来自java.sql.Types的值 -  
              
typeName- SQL用户定义类型的全限定名称; 如果参数不是用户定义的类型或REF,则将被忽略 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException-如果sqlType是ARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXML或STRUCT数据类型和JDBC驱动程序不支持此数据类型,或者JDBC驱动程序不支持这种方法 - 从以下版本开始:
 - 1.2
 
 
-  
setURL
void setURL(int parameterIndex, URL x) throws SQLException将指定的参数设置为给定的java.net.URL值。 当驱动程序将其发送到数据库时,将其转换为SQLDATALINK值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 要设置的java.net.URL对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.4
 
 
-  
getParameterMetaData
ParameterMetaData getParameterMetaData() throws SQLException
检索PreparedStatement对象参数的数量,类型和属性。- 结果
 - 
               一个 
              
ParameterMetaData对象,其中包含有关此PreparedStatement对象的每个参数标记的数量,类型和属性的信息 - 异常
 -  
              
SQLException- 如果发生数据库访问错误或者在关闭的PreparedStatement调用此方法PreparedStatement - 从以下版本开始:
 - 1.4
 - 另请参见:
 -  
              
ParameterMetaData 
 
-  
setRowId
void setRowId(int parameterIndex, RowId x) throws SQLException将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQLROWID值- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在封闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNString
void setNString(int parameterIndex, String value) throws SQLException将指定的参数设置为给定的String对象。 当驱动程序将其发送到数据库时,将其转换为SQLNCHAR或NVARCHAR或LONGNVARCHAR值(取决于参数相对于驱动程序对NVARCHAR的限制的大小)的大小。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
value- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在关闭的PreparedStatement -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException将指定的参数设置为Reader对象。Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
value- 参数值 -  
              
length- 参数数据中的字符数。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在一个封闭的PreparedStatement -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNClob
void setNClob(int parameterIndex, NClob value) throws SQLException将指定的参数设置为java.sql.NClob对象。 当驱动程序将其发送到数据库时,将其转换为SQLNCLOB值。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
value- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在关闭的PreparedStatement -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setClob
void setClob(int parameterIndex, Reader reader, long length) throws SQLException将指定的参数设置为Reader对象。 读者必须包含由长度指定的字符数,否则在执行SQLException会产生PreparedStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能必须进行额外的工作,以确定是否应将参数数据作为LONGVARCHAR或CLOB发送到服务器- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
reader- 包含将参数值设置为的数据的对象。 -  
              
length- 参数数据中的字符数。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 该方法在关闭的PreparedStatement上调用,或者如果指定的长度小于零。 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setBlob
void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException将指定的参数设置为InputStream对象。Inputstream必须包含由长度指定的字符数,否则在执行SQLException将生成PreparedStatement。 该方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要进行额外的工作才能确定是否应将参数数据作为LONGVARBINARY或BLOB发送到服务器- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
inputStream- 包含将参数值设置为的数据的对象。 -  
              
length- 参数数据中的字节数。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 这个方法是在封闭的PreparedStatement上PreparedStatement; 如果指定的长度小于零,或者InputStream中的字节数与指定长度不匹配。 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNClob
void setNClob(int parameterIndex, Reader reader, long length) throws SQLException将指定的参数设置为Reader对象。 读者必须包含由长度指定的字符数,否则当执行SQLException将生成PreparedStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能必须进行额外的工作来确定是否应将参数数据作为LONGNVARCHAR或NCLOB发送到服务器- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
reader- 包含将参数值设置为的数据的对象。 -  
              
length- 参数数据中的字符数。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果指定的长度小于零; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setSQLXML
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException将指定的参数设置为给定的java.sql.SQLXML对象。 当驱动程序将其发送到数据库时,将其转换为SQLXML值。- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
xmlObject- 映射SQLXML值的SQLXML对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 这个方法被称为在关闭PreparedStatement或java.xml.transform.Result,Writer或OutputStream为尚未关闭SQLXML对象 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setObject
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException使用给定对象设置指定参数的值。 如果第二个参数是一个
InputStream则流必须包含由scaleOrLength指定的字节数。 如果第二个参数为Reader则读取器必须包含scaleOrLength指定的字符数。 如果这些条件不正确,驱动程序将在执行准备好的语句时生成SQLException。在发送给数据库之前,给定的Java对象将被转换为给定的targetSqlType。 如果对象具有自定义映射(是实现接口
SQLData的类),则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类Ref,Blob,Clob,NClob,Struct,java.net.URL,或Array,驾驶员应把它传递给数据库作为相应SQL类型的值。请注意,此方法可能用于传递特定于数据库的抽象数据类型。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含输入参数值的对象 -  
              
targetSqlType- 要发送到数据库的SQL类型(定义在java.sql.Types中)。 比例参数可能进一步限定此类型。 -  
              
scaleOrLength- 对于java.sql.Types.DECIMAL或java.sql.Types.NUMERIC types,这是小数点后的数字位数。 对于Java对象类型InputStream和Reader,这是流或读取器中数据的长度。 对于所有其他类型,此值将被忽略。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 该方法在关闭的PreparedStatement上调用,或者如果由x指定的Java对象是InputStream或Reader对象,并且scale参数的值小于零 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持指定的targetSqlType - 另请参见:
 -  
              
Types 
 
-  
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException将指定的参数设置为给定的输入流,它将具有指定的字节数。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含ASCII参数值的Java输入流 -  
              
length- 流中的字节数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能比较实用。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含二进制参数值的java输入流 -  
              
length- 流中的字节数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
reader- 包含Unicode数据的java.io.Reader对象 -  
              
length- 流中的字符数 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x) throws SQLException将指定的参数设置为给定的输入流。 当一个非常大的ASCII值输入到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setAsciiStream带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含ASCII参数值的Java输入流 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x) throws SQLException将指定的参数设置为给定的输入流。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能比较实际。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setBinaryStream带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含二进制参数值的java输入流 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader) throws SQLException将指定的参数设置为给定的Reader对象。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setCharacterStream带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
reader- 包含Unicode数据的java.io.Reader对象 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException将指定的参数设置为Reader对象。Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setNCharacterStream带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
value- 参数值 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在一个封闭的PreparedStatement -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setClob
void setClob(int parameterIndex, Reader reader) throws SQLException将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要进行额外的工作才能确定是否应将参数数据作为LONGVARCHAR或CLOB发送到服务器注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setClob带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
reader- 包含将参数值设置为的数据的对象。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 该方法在关闭的PreparedStatement上调用,或者如果parameterIndex与SQL语句中的参数标记不对应 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setBlob
void setBlob(int parameterIndex, InputStream inputStream) throws SQLException将指定的参数设置为InputStream对象。 该方法与setBinaryStream (int, InputStream)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要进行额外的工作才能确定参数数据是否应作为LONGVARBINARY或BLOB发送到服务器注:请参考JDBC驱动程序文档,以确定它可能是更有效地使用一个版本的
setBlob带有长度参数。- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
inputStream- 包含用于设置参数值的数据的对象。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误; 这个方法在关闭的PreparedStatement上调用,或者如果parameterIndex与SQL语句中的参数标记不对应, -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setNClob
void setNClob(int parameterIndex, Reader reader) throws SQLException将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要进行额外的工作才能确定是否应将参数数据作为LONGNVARCHAR或NCLOB发送到服务器注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本
setNClob可能会更有效。- 参数
 -  
              
parameterIndex- 第一个参数的索引为1,第二个为2,... -  
              
reader- 包含将参数值设置为的数据的对象。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
 - 1.6
 
 
-  
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException使用给定对象设置指定参数的值。 如果第二个参数是一个
InputStream则流必须包含scaleOrLength指定的字节数。 如果第二个参数是Reader则读者必须包含由scaleOrLength指定的字符数。 如果这些条件不正确,驱动程序将在执行准备好的语句时生成一个SQLException。在发送给数据库之前,给定的Java对象将被转换为给定的targetSqlType。 如果对象具有自定义映射(实现接口
SQLData的类),则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类Ref,Blob,Clob,NClob,Struct,java.net.URL,或Array,驾驶员应把它传递给数据库作为相应SQL类型的值。请注意,此方法可能用于传递特定于数据库的抽象数据类型。
默认实现将抛出
SQLFeatureNotSupportedException- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含输入参数值的对象 -  
              
targetSqlType- 要发送到数据库的SQL类型。 比例参数可能进一步限定此类型。 -  
              
scaleOrLength- 对于java.sql.JDBCType.DECIMAL或java.sql.JDBCType.NUMERIC types,这是小数点后的位数。 对于Java对象类型InputStream和Reader,这是流或读取器中数据的长度。 对于所有其他类型,此值将被忽略。 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法,或者如果x指定的Java对象是InputStream或Reader对象,并且scale参数的值小于零 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持指定的targetSqlType - 从以下版本开始:
 - 1.8
 - 另请参见:
 -  
              
JDBCType,SQLType 
 
-  
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException使用给定对象设置指定参数的值。 该方法类似于setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength),除了它假定为零。默认实现将抛出
SQLFeatureNotSupportedException- 参数
 -  
              
parameterIndex- 第一个参数是1,第二个是2,... -  
              
x- 包含输入参数值的对象 -  
              
targetSqlType- 要发送到数据库的SQL类型 - 异常
 -  
              
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -  
              
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持指定的targetSqlType - 从以下版本开始:
 - 1.8
 - 另请参见:
 -  
              
JDBCType,SQLType 
 
-  
executeLargeUpdate
default long executeLargeUpdate() throws SQLException执行在该SQL语句PreparedStatement对象,它必须是一个SQL数据操纵语言(DML)语句,比如INSERT,UPDATE或DELETE; 或不返回任何内容的SQL语句,例如DDL语句。当返回的行数可能超过
Integer.MAX_VALUE时,应使用此方法。默认实现将抛出
UnsupportedOperationException- 结果
 - (1)SQL数据操作语言(DML)语句的行计数或(2)0不返回的SQL语句
 - 异常
 -  
              
SQLException- 如果发生数据库访问错误; 此方法在关闭的PreparedStatement上调用,或者SQL语句返回一个ResultSet对象 -  
              
SQLTimeoutException- 当驱动程序确定已经超过setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement - 从以下版本开始:
 - 1.8
 
 
 -  
 
 -