- 所有超级接口:
-
AutoCloseable,Statement,Wrapper
- 所有已知子接口:
-
CallableStatement
SQL 语句被预编译并存储在一个 PreparedStatement 对象中。然后可以使用此对象有效地多次执行此语句。
注意: 用于设置 IN 参数值的 setter 方法(setShort、setString 等)必须指定与输入参数的定义的 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,则应使用方法 setInt。
如果需要任意参数类型转换,则应使用方法 setObject 与目标 SQL 类型。
在下面的设置参数示例中,con 表示一个活动连接:
BigDecimal sal = new BigDecimal("153833.00");
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, sal);
pstmt.setInt(2, 110592);
- 自版本:
- 1.1
- 参见:
-
Field Summary
Fields declared in interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBatch()向此PreparedStatement对象的命令批次添加一组参数。void立即清除当前参数值。booleanexecute()在此PreparedStatement对象中执行 SQL 语句,该语句可以是任何类型的 SQL 语句。default long在此PreparedStatement对象中执行 SQL 语句,该语句必须是 SQL 数据操作语言(DML)语句,如INSERT、UPDATE或DELETE;或者是一个不返回任何内容的 SQL 语句,如 DDL 语句。在此PreparedStatement对象中执行 SQL 查询,并返回由查询生成的ResultSet对象。int在此PreparedStatement对象中执行 SQL 语句,该语句必须是 SQL 数据操作语言(DML)语句,如INSERT、UPDATE或DELETE;或者是一个不返回任何内容的 SQL 语句,如 DDL 语句。检索一个包含将在执行此PreparedStatement对象时返回的ResultSet对象的列信息的ResultSetMetaData对象。检索此PreparedStatement对象的参数的数量、类型和属性。void将指定的参数设置为给定的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对象。void将指定的参数设置为给定的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对象,该对象的长度为给定的字符数。void将指定的参数设置为一个Reader对象。void将指定的参数设置为一个Reader对象。void将指定的参数设置为给定的java.sql.Clob对象。void将指定的参数设置为给定的java.sql.Date值,使用运行应用程序的虚拟机的默认时区。void将指定的参数设置为给定的java.sql.Date值,使用给定的Calendar对象。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对象。void将指定的参数设置为一个Reader对象。void将指定的参数设置为一个Reader对象。void将指定的参数设置为一个java.sql.NClob对象。voidsetNString(int parameterIndex, String value) 将指定的参数设置为给定的String对象。voidsetNull(int parameterIndex, int sqlType) 将指定的参数设置为 SQLNULL。void将指定的参数设置为 SQLNULL。void使用给定对象设置指定参数的值。void使用给定对象设置指定参数的值。void使用给定对象设置指定参数的值。default void使用给定对象设置指定参数的值。default void使用给定对象设置指定参数的值。void将指定的参数设置为给定的REF(<structured-type>)值。void将指定的参数设置为给定的java.sql.RowId对象。voidsetShort(int parameterIndex, short x) 将指定的参数设置为给定的 Javashort值。void将指定的参数设置为给定的java.sql.SQLXML对象。void将指定的参数设置为给定的 JavaString值。void将指定的参数设置为给定的java.sql.Time值。void将指定的参数设置为给定的java.sql.Time值,使用给定的Calendar对象。voidsetTimestamp(int parameterIndex, Timestamp x) 将指定的参数设置为给定的java.sql.Timestamp值。voidsetTimestamp(int parameterIndex, Timestamp x, Calendar cal) 将指定的参数设置为给定的java.sql.Timestamp值,使用给定的Calendar对象。voidsetUnicodeStream(int parameterIndex, InputStream x, int length) 已弃用。void将指定的参数设置为给定的java.net.URL值。Methods declared in 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, setQueryTimeoutMethods declared in interface java.sql.Wrapper
isWrapperFor, unwrap
-
Method Details
-
executeQuery
在此PreparedStatement对象中执行 SQL 查询,并返回由查询生成的ResultSet对象。- 返回:
-
包含查询生成的数据的
ResultSet对象;永不为null - 抛出:
-
SQLException- 如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法,或者 SQL 语句不返回ResultSet对象时 -
SQLTimeoutException- 当驱动程序确定已超过由setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement时
-
executeUpdate
在此PreparedStatement对象中执行 SQL 语句,该语句必须是 SQL 数据操作语言(DML)语句,如INSERT、UPDATE或DELETE;或者是一个不返回任何内容的 SQL 语句,如 DDL 语句。- 返回:
- SQL 数据操作语言(DML)语句的行数,或者对于不返回任何内容的 SQL 语句为 0
- 抛出:
-
SQLException- 如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法,或者 SQL 语句返回ResultSet对象时 -
SQLTimeoutException- 当驱动程序确定已超过由setQueryTimeout方法指定的超时值,并且至少尝试取消当前正在运行的Statement时
-
setNull
将指定的参数设置为 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
将指定的参数设置为给定的Javaboolean值。当驱动程序将其发送到数据库时,将其转换为SQLBIT或BOOLEAN值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setByte
将指定的参数设置为给定的Javabyte值。当驱动程序将其发送到数据库时,将其转换为SQLTINYINT值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setShort
将指定的参数设置为给定的Javashort值。当驱动程序将其发送到数据库时,将其转换为SQLSMALLINT值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setInt
将指定的参数设置为给定的Javaint值。当驱动程序将其发送到数据库时,将其转换为SQLINTEGER值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setLong
将指定的参数设置为给定的Javalong值。当驱动程序将其发送到数据库时,将其转换为SQLBIGINT值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setFloat
将指定的参数设置为给定的Javafloat值。当驱动程序将其发送到数据库时,将其转换为SQLREAL值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setDouble
将指定的参数设置为给定的Javadouble值。当驱动程序将其发送到数据库时,将其转换为SQLDOUBLE值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setBigDecimal
将指定的参数设置为给定的java.math.BigDecimal值。当驱动程序将其发送到数据库时,将其转换为SQLNUMERIC值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setString
将指定的参数设置为给定的JavaString值。当驱动程序将其发送到数据库时,将其转换为SQLVARCHAR或LONGVARCHAR值(取决于参数的大小相对于驱动程序对VARCHAR值的限制)。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setBytes
将指定的参数设置为给定的Java字节数组。当驱动程序将其发送到数据库时,将其转换为SQLVARBINARY或LONGVARBINARY值(取决于参数的大小相对于驱动程序对VARBINARY值的限制)。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setDate
将指定的参数设置为给定的java.sql.Date值,使用运行应用程序的虚拟机的默认时区。当驱动程序将其发送到数据库时,将其转换为SQLDATE值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setTime
将指定的参数设置为给定的java.sql.Time值。当驱动程序将其发送到数据库时,将其转换为SQLTIME值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setTimestamp
将指定的参数设置为给定的java.sql.Timestamp值。当驱动程序将其发送到数据库时,将其转换为SQLTIMESTAMP值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setAsciiStream
将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当将非常大的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 Deprecated.UsesetCharacterStream将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当将非常大的Unicode值输入到LONGVARCHAR参数时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从Unicode到数据库字符格式的任何必要转换。Unicode流的字节格式必须是Java UTF-8,如Java虚拟机规范中定义的那样。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含Unicode参数值的java.io.InputStream对象 -
length- 流中的字节数 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setBinaryStream
将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当将非常大的二进制值输入到LONGVARBINARY参数时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含二进制参数值的java输入流 -
length- 流中的字节数 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
clearParameters
立即清除当前参数值。通常,参数值对于重复使用语句保持有效。设置参数值会自动清除其先前的值。但是,在某些情况下,立即释放当前参数值使用的资源很有用;可以通过调用方法
clearParameters来实现。- 抛出:
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法
-
setObject
使用给定对象设置指定参数的值。此方法类似于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 - 参见:
-
setObject
使用给定对象设置指定参数的值。
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
在此PreparedStatement对象中执行SQL语句,该语句可以是任何类型的SQL语句。一些预编译语句返回多个结果;execute方法处理这些复杂语句以及executeQuery和executeUpdate方法处理的更简单形式的语句。execute方法返回一个boolean以指示第一个结果的形式。您必须调用getResultSet或getUpdateCount方法来检索结果;必须调用getMoreResults来移动到任何后续的结果。- 返回:
-
true如果第一个结果是ResultSet对象;false如果第一个结果是更新计数或没有结果 - 抛出:
-
SQLException- 如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法或向此方法提供参数 -
SQLTimeoutException- 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且至少尝试取消当前运行的Statement时 - 参见:
-
addBatch
向此PreparedStatement对象的命令批处理中添加一组参数。- 抛出:
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自1.2版本起:
- 1.2
- 参见:
-
setCharacterStream
将指定的参数设置为给定的Reader对象,该对象的长度为给定的字符数。当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
reader- 包含Unicode数据的java.io.Reader对象 -
length- 流中的字符数 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自1.2版本起:
- 1.2
-
setRef
将指定的参数设置为给定的REF(<structured-type>)值。驱动程序在将其发送到数据库时将其转换为SQLREF值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- SQLREF值 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.2版本起:
- 1.2
-
setBlob
将指定的参数设置为给定的java.sql.Blob对象。驱动程序在将其发送到数据库时将其转换为SQLBLOB值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 一个Blob对象,将SQLBLOB值映射为它 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
setClob
将指定的参数设置为给定的java.sql.Clob对象。当驱动程序将其发送到数据库时,它会将其转换为SQLCLOB值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 一个Clob对象,将SQLCLOB值映射为它 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
setArray
将指定的参数设置为给定的java.sql.Array对象。当驱动程序将其发送到数据库时,它会将其转换为SQLARRAY值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 一个Array对象,将SQLARRAY值映射为它 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
getMetaData
检索一个ResultSetMetaData对象,其中包含有关执行此PreparedStatement对象时将返回的ResultSet对象的列的信息。由于
PreparedStatement对象是预编译的,因此可以在不执行它的情况下了解它将返回的ResultSet对象。因此,可以在PreparedStatement对象上调用方法getMetaData,而不必等待执行它,然后在返回的ResultSet对象上调用ResultSet.getMetaData方法。注意: 对于某些驱动程序来说,使用此方法可能会很昂贵,因为缺乏底层DBMS支持。
- 返回:
-
ResultSet对象的列的描述,如果驱动程序无法返回ResultSetMetaData对象,则返回null - 抛出:
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
setDate
使用给定的Calendar对象,将指定的参数设置为给定的java.sql.Date值。驱动程序使用Calendar对象构造SQLDATE值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算日期。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 -
cal- 驱动程序将用于构造日期的Calendar对象 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自版本:
- 1.2
-
setTime
使用给定的Calendar对象,将指定的参数设置为给定的java.sql.Time值。驱动程序使用Calendar对象构造SQLTIME值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算时间。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 -
cal- 驱动程序将用于构造时间的Calendar对象 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自版本:
- 1.2
-
setTimestamp
使用给定的Calendar对象,将指定的参数设置为给定的java.sql.Timestamp值。驱动程序使用Calendar对象构造SQLTIMESTAMP值,然后将其发送到数据库。使用Calendar对象,驱动程序可以根据自定义时区计算时间戳。如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 -
cal- 驱动程序将用于构造时间戳的Calendar对象 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自版本:
- 1.2
-
setNull
将指定的参数设置为SQLNULL。应该使用此版本的setNull方法用于用户定义类型和REF类型参数。用户定义类型的示例包括:STRUCT、DISTINCT、JAVA_OBJECT和命名数组类型。注意: 为了可移植性,应用程序在指定NULL用户定义或REF参数时必须提供SQL类型代码和完全限定的SQL类型名称。对于用户定义类型,名称是参数本身的类型名称。对于REF参数,名称是引用类型的类型名称。如果JDBC驱动程序不需要类型代码或类型名称信息,则可以忽略它。尽管此方法旨在用于用户定义和Ref参数,但可以用于设置任何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
将指定的参数设置为给定的java.net.URL值。驱动程序在将其发送到数据库时将其转换为SQLDATALINK值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 要设置的java.net.URL对象 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
getParameterMetaData
检索此PreparedStatement对象的参数的数量、类型和属性。- 返回:
-
一个
ParameterMetaData对象,其中包含有关此PreparedStatement对象的每个参数标记的数量、类型和属性的信息 - 抛出:
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 - 自版本:
- 1.4
- 参见:
-
setRowId
将指定的参数设置为给定的java.sql.RowId对象。当驱动程序将其发送到数据库时,将其转换为SQLROWID值- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 参数值 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNString
将指定的参数设置为给定的String对象。当驱动程序将其发送到数据库时,将其转换为SQLNCHAR或NVARCHAR或LONGNVARCHAR值(取决于参数相对于驱动程序对NVARCHAR值的限制)。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
value- 参数值 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误;或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNCharacterStream
将指定的参数设置为Reader对象。Reader读取数据直到达到文件末尾。驱动程序将从Java字符格式转换为数据库中的国家字符集。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
value- 参数值 -
length- 参数数据中的字符数。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误;或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNClob
将指定的参数设置为java.sql.NClob对象。当驱动程序将其发送到数据库时,将其转换为SQLNCLOB值。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
value- 参数值 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误;或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setClob
将指定的参数设置为Reader对象。读取器必须包含由length指定的字符数,否则在执行PreparedStatement时将生成SQLException。此方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应作为LONGVARCHAR还是CLOB发送到服务器- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含要将参数值设置为的数据的对象。 -
length- 参数数据中的字符数。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法;如果指定的长度小于零。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setBlob
将指定的参数设置为InputStream对象。Inputstream必须包含由length指定的字符数,否则在执行PreparedStatement时将生成SQLException。此方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。当使用setBinaryStream方法时,驱动程序可能需要额外工作来确定参数数据应作为LONGVARBINARY还是BLOB发送到服务器- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
inputStream- 包含要将参数值设置为的数据的对象。 -
length- 参数数据中的字节数。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法;如果指定的长度小于零或InputStream中的字节数与指定的长度不匹配。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNClob
将指定的参数设置为Reader对象。读取器必须包含由length指定的字符数,否则在执行PreparedStatement时将生成SQLException。此方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应作为LONGNVARCHAR还是NCLOB发送到服务器- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含要将参数值设置为的数据的对象。 -
length- 参数数据中的字符数。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果指定的长度小于零;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setSQLXML
将指定的参数设置为给定的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版本起:
- 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中定义)。scale参数可能进一步限定此类型。 -
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 - 参见:
-
setAsciiStream
将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当向LONGVARCHAR参数输入非常大的ASCII值时,通过java.io.InputStream发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从ASCII到数据库字符格式的任何必要转换。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含ASCII参数值的Java输入流 -
length- 流中的字节数 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 - 自1.6版本起:
- 1.6
-
setBinaryStream
将指定的参数设置为给定的输入流,该输入流将具有指定的字节数。当向LONGVARBINARY参数输入非常大的二进制值时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含二进制参数值的Java输入流 -
length- 流中的字节数 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 - 自1.6版本起:
- 1.6
-
setCharacterStream
将指定的参数设置为给定的Reader对象,该对象的长度为给定的字符数。当向LONGVARCHAR参数输入非常大的UNICODE值时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
reader- 包含Unicode数据的java.io.Reader对象 -
length- 流中的字符数 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 - 自1.6版本起:
- 1.6
-
setAsciiStream
将指定的参数设置为给定的输入流。当向LONGVARCHAR参数输入非常大的ASCII值时,通过java.io.InputStream发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从ASCII到数据库字符格式的任何必要转换。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setAsciiStream版本。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含ASCII参数值的Java输入流 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setBinaryStream
将指定的参数设置为给定的输入流。当向LONGVARBINARY参数输入非常大的二进制值时,通过java.io.InputStream对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setBinaryStream版本。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
x- 包含二进制参数值的Java输入流 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setCharacterStream
将指定的参数设置为给定的Reader对象。当向LONGVARCHAR参数输入非常大的UNICODE值时,通过java.io.Reader对象发送可能更实际。数据将根据需要从流中读取,直到达到文件结尾。JDBC驱动程序将执行从UNICODE到数据库字符格式的任何必要转换。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setCharacterStream版本。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
reader- 包含Unicode数据的java.io.Reader对象 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNCharacterStream
将指定的参数设置为Reader对象。Reader读取数据直到达到文件结尾。驱动程序将执行从Java字符格式到数据库中的国家字符集的必要转换。注意: 此流对象可以是标准的Java流对象,也可以是实现标准接口的自定义子类。
注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setNCharacterStream版本。- 参数:
-
parameterIndex- 第一个参数为1,第二个为2,... -
value- 参数值 - 抛出:
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误;或者在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setClob
将指定的参数设置为Reader对象。此方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序应将参数值作为CLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外工作来确定参数数据应作为LONGVARCHAR还是CLOB发送到服务器注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setClob版本。- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含要设置参数值的数据的对象。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法或者parameterIndex与SQL语句中的参数标记不对应 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setBlob
将指定的参数设置为InputStream对象。此方法与setBinaryStream (int, InputStream)方法不同,因为它通知驱动程序参数值应该作为BLOB发送到服务器。当使用setBinaryStream方法时,驱动程序可能需要额外的工作来确定参数数据应该作为LONGVARBINARY还是BLOB发送到服务器注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setBlob版本。- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
inputStream- 包含要设置参数值的数据的对象。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法或者parameterIndex与SQL语句中的参数标记不对应 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 1.6
-
setNClob
将指定的参数设置为Reader对象。此方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应该作为NCLOB发送到服务器。当使用setCharacterStream方法时,驱动程序可能需要额外的工作来确定参数数据应该作为LONGNVARCHAR还是NCLOB发送到服务器注意: 请查阅您的JDBC驱动程序文档,以确定是否更有效地使用带有长度参数的
setNClob版本。- 参数:
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含要设置参数值的数据的对象。 - 抛出:
-
SQLException- 如果parameterIndex与SQL语句中的参数标记不对应;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或者在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自1.6版本起:
- 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类型。scale参数可能进一步限定此类型。 -
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版本起:
- 1.8
- 参见:
-
setObject
使用给定对象设置指定参数的值。此方法类似于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版本起:
- 1.8
- 参见:
-
executeLargeUpdate
在此PreparedStatement对象中执行SQL语句,该语句必须是SQL数据操作语言(DML)语句,如INSERT、UPDATE或DELETE;或者返回空值的SQL语句,如DDL语句。当返回的行数可能超过
Integer.MAX_VALUE时,应使用此方法。默认实现将抛出
UnsupportedOperationException- 返回:
- (1) SQL数据操作语言(DML)语句的行数或(2) 对于返回空值的SQL语句为0
- 抛出:
-
SQLException- 如果发生数据库访问错误;在关闭的PreparedStatement上调用此方法或者SQL语句返回ResultSet对象 -
SQLTimeoutException- 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且至少尝试取消当前运行的Statement时 - 自1.8版本起:
- 1.8
-
setCharacterStream