public interface PreparedStatement extends Statement
一个SQL语句的预编译并存储在一个PreparedStatement
对象。此对象可以被用来有效地执行此语句多次。
注: setter方法(setShort
,setString
,等等)在参数值的设置必须指定与定义的SQL类型的输入参数类型兼容。例如,如果在参数INTEGER
SQL类型,则应使用的方法setInt
。
如果任意参数类型转换时,应采用的方法setObject
目标SQL类型。
在下面的例子中设置一个参数,con
代表一个活动连接:
PreparedStatement pstmt =欺诈。preparestatement(“更新员工设定工资?哪里是身份证?”;pstmt setbigdecimal(1,153833)。pstmt setint(2,110592)。
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Modifier and Type | Method and Description |
---|---|
void |
addBatch()
增加了一个参数集的命令这
PreparedStatement 对象的批。
|
void |
clearParameters()
立即清除当前的参数值。
|
boolean |
execute()
在这
PreparedStatement 对象执行SQL语句,这可能是任何类型的SQL语句。
|
default long |
executeLargeUpdate()
在这
PreparedStatement 对象执行SQL语句,它必须是一个SQL数据操作语言(DML)语句,如
INSERT ,
UPDATE 或
DELETE ;或一个SQL语句没有返回,如DDL语句。
|
ResultSet |
executeQuery()
执行sql查询本
PreparedStatement 对象并返回查询所产生的
ResultSet 对象。
|
int |
executeUpdate()
在这
PreparedStatement 对象执行SQL语句,它必须是一个SQL数据操作语言(DML)语句,如
INSERT ,
UPDATE 或
DELETE ;或一个SQL语句没有返回,如DDL语句。
|
ResultSetMetaData |
getMetaData()
检索
ResultSetMetaData 对象所包含的信息的列的
ResultSet 对象时将返回该对象执行
PreparedStatement 。
|
ParameterMetaData |
getParameterMetaData()
检索的数量,这
PreparedStatement 对象参数的类型和性质。
|
void |
setArray(int parameterIndex, Array x)
设置为给定
java.sql.Array 对象指定的参数。
|
void |
setAsciiStream(int parameterIndex, InputStream x)
将指定的参数设置为给定的输入流。
|
void |
setAsciiStream(int parameterIndex, InputStream x, int length)
将指定的参数设置为给定的输入流,这将有指定的字节数。
|
void |
setAsciiStream(int parameterIndex, InputStream x, long length)
将指定的参数设置为给定的输入流,这将有指定的字节数。
|
void |
setBigDecimal(int parameterIndex, BigDecimal x)
设置为给定
java.math.BigDecimal 指定参数值。
|
void |
setBinaryStream(int parameterIndex, InputStream x)
将指定的参数设置为给定的输入流。
|
void |
setBinaryStream(int parameterIndex, InputStream x, int length)
将指定的参数设置为给定的输入流,这将有指定的字节数。
|
void |
setBinaryStream(int parameterIndex, InputStream x, long length)
将指定的参数设置为给定的输入流,这将有指定的字节数。
|
void |
setBlob(int parameterIndex, Blob x)
设置为给定
java.sql.Blob 对象指定的参数。
|
void |
setBlob(int parameterIndex, InputStream inputStream)
设置一个
InputStream 对象指定的参数。
|
void |
setBlob(int parameterIndex, InputStream inputStream, long length)
设置一个
InputStream 对象指定的参数。
|
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)
设置为给定
Reader 对象指定的参数。
|
void |
setCharacterStream(int parameterIndex, Reader reader, int length)
设置指定的参数给定的
Reader 对象,即给定数量的字符。
|
void |
setCharacterStream(int parameterIndex, Reader reader, long length)
设置指定的参数给定的
Reader 对象,即给定数量的字符。
|
void |
setClob(int parameterIndex, Clob x)
设置为给定
java.sql.Clob 对象指定的参数。
|
void |
setClob(int parameterIndex, Reader reader)
设置一个
Reader 对象指定的参数。
|
void |
setClob(int parameterIndex, Reader reader, long length)
设置一个
Reader 对象指定的参数。
|
void |
setDate(int parameterIndex, Date x)
设置为给定
java.sql.Date 价值利用虚拟机正在运行的应用程序的默认时区指定参数。
|
void |
setDate(int parameterIndex, Date x, Calendar cal)
设置指定的参数给定的
java.sql.Date 值,使用给定的
Calendar 对象。
|
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 |
setNCharacterStream(int parameterIndex, Reader value)
设置一个
Reader 对象指定的参数。
|
void |
setNCharacterStream(int parameterIndex, Reader value, long length)
设置一个
Reader 对象指定的参数。
|
void |
setNClob(int parameterIndex, NClob value)
设置一个
java.sql.NClob 对象指定的参数。
|
void |
setNClob(int parameterIndex, Reader reader)
设置一个
Reader 对象指定的参数。
|
void |
setNClob(int parameterIndex, Reader reader, long length)
设置一个
Reader 对象指定的参数。
|
void |
setNString(int parameterIndex, String value)
设置为给定
String 对象指定的参数。
|
void |
setNull(int parameterIndex, int sqlType)
设置SQL
NULL 指定参数。
|
void |
setNull(int parameterIndex, 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 scaleOrLength)
用给定的对象设置指定参数的值。
|
default void |
setObject(int parameterIndex, Object x, SQLType targetSqlType)
用给定的对象设置指定参数的值。
|
default void |
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
用给定的对象设置指定参数的值。
|
void |
setRef(int parameterIndex, Ref x)
设置为给定
REF(<structured-type>) 指定参数值。
|
void |
setRowId(int parameterIndex, RowId x)
设置为给定
java.sql.RowId 对象指定的参数。
|
void |
setShort(int parameterIndex, short x)
设置给定的java
short 指定参数值。
|
void |
setSQLXML(int parameterIndex, SQLXML xmlObject)
设置为给定
java.sql.SQLXML 对象指定的参数。
|
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)
设置指定的参数给定的
java.sql.Time 值,使用给定的
Calendar 对象。
|
void |
setTimestamp(int parameterIndex, Timestamp x)
设置为给定
java.sql.Timestamp 指定参数值。
|
void |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
设置指定的参数给定的
java.sql.Timestamp 值,使用给定的
Calendar 对象。
|
void |
setUnicodeStream(int parameterIndex, InputStream x, int length)
过时的。
使用
setCharacterStream
|
void |
setURL(int parameterIndex, URL x)
设置为给定
java.net.URL 指定参数值。
|
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, 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, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
isWrapperFor, unwrap
ResultSet executeQuery() throws SQLException
PreparedStatement
对象并返回查询所产生的
ResultSet
对象。
ResultSet
对象包含查询所产生的数据;不
null
SQLException
-如果一个数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或SQL语句不返回
ResultSet
对象
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
int executeUpdate() throws SQLException
PreparedStatement
对象执行SQL语句,它必须是一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
SQLException
-如果一个数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或SQL语句返回
ResultSet
对象
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
void setNull(int parameterIndex, int sqlType) throws SQLException
NULL
指定参数。
注:必须指定参数的SQL类型。
parameterIndex
-第一个参数是1,其次是2,…
sqlType
的SQL类型代码中定义的
java.sql.Types
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
-如果
sqlType
是
ARRAY
,
BLOB
,
CLOB
,
DATALINK
,
JAVA_OBJECT
,
NCHAR
,
NCLOB
,
NVARCHAR
,
LONGNVARCHAR
,
REF
,
ROWID
,
SQLXML
或
STRUCT
数据类型和JDBC驱动程序不支持这种数据类型
void setBoolean(int parameterIndex, boolean x) throws SQLException
boolean
指定参数值。司机将一个SQL
BIT
或
BOOLEAN
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setByte(int parameterIndex, byte x) throws SQLException
byte
指定参数值。司机将一个SQL
TINYINT
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setShort(int parameterIndex, short x) throws SQLException
short
指定参数值。司机将一个SQL
SMALLINT
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setInt(int parameterIndex, int x) throws SQLException
int
指定参数值。司机将一个SQL
INTEGER
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setLong(int parameterIndex, long x) throws SQLException
long
指定参数值。司机将一个SQL
BIGINT
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setFloat(int parameterIndex, float x) throws SQLException
float
指定参数值。司机将一个SQL
REAL
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setDouble(int parameterIndex, double x) throws SQLException
double
指定参数值。司机将一个SQL
DOUBLE
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
java.math.BigDecimal
指定参数值。司机将一个SQL
NUMERIC
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setString(int parameterIndex, String x) throws SQLException
String
指定参数值。司机将一个SQL
VARCHAR
或
LONGVARCHAR
值(取决于参数的大小相对论
VARCHAR
值驾驶极限)时,发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setBytes(int parameterIndex, byte[] x) throws SQLException
VARBINARY
或
LONGVARBINARY
(取决于参数的大小相对论
VARBINARY
值驾驶极限)时,发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setDate(int parameterIndex, Date x) throws SQLException
java.sql.Date
价值利用虚拟机正在运行的应用程序的默认时区指定参数。司机将一个SQL
DATE
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setTime(int parameterIndex, Time x) throws SQLException
java.sql.Time
指定参数值。司机将一个SQL
TIME
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp
指定参数值。司机将一个SQL
TIMESTAMP
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARCHAR
参数,它可以通过
java.io.InputStream
送它更实用。将从所需的数据流中读取数据,直到达到文件结束为止。JDBC驱动程序将从ASCII格式的数据库做任何必要的转换。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含ASCII码的参数值
length
在流的字节数
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
@Deprecated void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
setCharacterStream
LONGVARCHAR
参数,它可以通过
java.io.InputStream
对象发送它更实用。将从所需要的数据读取到所需的数据,直到文件结束为止。JDBC驱动程序将从Unicode数据库格式做任何必要的转换。的Unicode字节流的格式必须是java UTF-8,在java虚拟机规范定义。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
parameterIndex
-第一个参数是1,其次是2,…
x
-
java.io.InputStream
包含Unicode的参数值
length
在流的字节数
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARBINARY
参数,它可以通过
java.io.InputStream
对象发送它更实用。将从所需要的数据读取到所需的数据,直到文件结束为止。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含二进制参数值
length
在流的字节数
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void clearParameters() throws SQLException
在一般情况下,参数值仍然是一个语句的重复使用的力量。设置参数值自动清除它的前一个值。然而,在某些情况下,它是立即释放由当前的参数值使用的有用的资源;这可以通过调用该方法clearParameters
做。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
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类型定义)被发送到数据库
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持指定的targetsqltype
Types
void setObject(int parameterIndex, Object x) throws SQLException
使用给定的对象设置指定参数的值。
JDBC规范指定的SQL类型的java Object
类型标准映射。给定的参数将被转换为相应的SQL类型之前被发送到数据库。
请注意,此方法可用于将特定于数据库的抽象数据类型,通过使用一个驱动程序特定的java类型。如果对象是一个实现接口的类SQLData
,JDBC驱动程序应该调用的方法SQLData.writeSQL
写的SQL数据流。如果,另一方面,对象是类的实现Ref
,Blob
,Clob
,NClob
,Struct
,java.net.URL
,RowId
,SQLXML
或Array
,司机应该通过对数据库的值为相应的SQL类型。
注:不是所有的数据库都允许非类型化的空被发送到后台。为了获得最大的可移植性,这setNull
或setObject(int parameterIndex, Object x, int sqlType)
方法应该用来代替setObject(int parameterIndex, Object x)
。
注:该方法抛出一个异常如有歧义,例如,如果对象是一个类实现多个接口的命名。
parameterIndex
-第一个参数是1,其次是2,…
x
包含输入参数值的对象
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或给定对象的类型是模糊的
boolean execute() throws SQLException
PreparedStatement
对象执行SQL语句,这可能是任何类型的SQL语句。一些准备好的语句返回多个结果;的
execute
方法处理这些复杂的报表,以及采用
executeQuery
和
executeUpdate
处理报表的简单形式。
的execute
方法返回一个boolean
指示的第一个结果的形式。你必须调用方法getResultSet
或getUpdateCount
检索结果;你必须调用getMoreResults
搬到任何后续结果(S)。
true
如果第一个结果是一个
ResultSet
对象;
false
如果第一个结果是一个更新计数或没有结果
SQLException
-如果一个数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或参数提供给此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
Statement.execute(java.lang.String)
,
Statement.getResultSet()
,
Statement.getUpdateCount()
,
Statement.getMoreResults()
void addBatch() throws SQLException
PreparedStatement
对象的批。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
Statement.addBatch(java.lang.String)
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setRef(int parameterIndex, Ref x) throws SQLException
REF(<structured-type>)
指定参数值。司机将一个SQL
REF
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-一个SQL
REF
价值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setBlob(int parameterIndex, Blob x) throws SQLException
java.sql.Blob
对象指定的参数。司机将一个SQL
BLOB
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-
Blob
对象映射一个SQL
BLOB
价值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setClob(int parameterIndex, Clob x) throws SQLException
java.sql.Clob
对象指定的参数。司机将一个SQL
CLOB
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-
Clob
对象映射一个SQL
CLOB
价值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setArray(int parameterIndex, Array x) throws SQLException
java.sql.Array
对象指定的参数。司机将一个SQL
ARRAY
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-
Array
对象映射一个SQL
ARRAY
价值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
ResultSetMetaData getMetaData() throws SQLException
ResultSetMetaData
对象所包含的信息的列的
ResultSet
对象时将返回该对象执行
PreparedStatement
。
因为PreparedStatement
对象是预编译的,可以知道ResultSet
对象,它将不执行返回。因此,它可以调用的方法getMetaData
在PreparedStatement
对象而不是等待执行它,然后调用ResultSet.getMetaData
方法返回的对象,ResultSet
。
注:使用这种方法可能会贵一些司机由于潜在的数据库管理系统支持的缺乏。
ResultSet
对象的列或
null
描述如果司机不能返回
ResultSetMetaData
对象
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
java.sql.Date
值,使用给定的
Calendar
对象。驱动程序使用的
Calendar
对象构造一个SQL
DATE
值,驱动程序将它们发送到数据库。一个
Calendar
对象,驱动程序可以计算日期考虑自定义时区。如果没有
Calendar
对象指定驱动程序使用默认的时区,它的虚拟机中运行的应用程序。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
cal
-
Calendar
对象的驱动程序将使用构建的日期
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
java.sql.Time
值,使用给定的
Calendar
对象。驱动程序使用的
Calendar
对象构造一个SQL
TIME
值,驱动程序将它们发送到数据库。一个
Calendar
对象,驱动程序可以计算时间考虑自定义时区。如果没有
Calendar
对象指定驱动程序使用默认的时区,它的虚拟机中运行的应用程序。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
cal
-
Calendar
对象的驱动程序将使用构建时间
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
java.sql.Timestamp
值,使用给定的
Calendar
对象。驱动程序使用的
Calendar
对象构造一个SQL
TIMESTAMP
值,驱动程序将它们发送到数据库。一个
Calendar
对象,驱动程序可以计算考虑自定义时区的时间戳。如果没有
Calendar
对象指定驱动程序使用默认的时区,它的虚拟机中运行的应用程序。
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
cal
-
Calendar
对象的驱动程序将使用构建的时间戳
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL
指定参数。这个版本的方法
setNull
应该用于用户定义类型和引用类型参数。用户定义的类型的例子包括:结构清晰,java_object,并命名为数组类型。
注:是便携式的,应用程序必须提供的SQL类型代码和完全合格的SQL类型名称当指定一个自定义或ref参数无效。在一个用户定义的类型的情况下,名称是参数本身的类型名称。对于ref参数,名字是引用类型的类型名称。如果一个JDBC驱动程序不需要类型或类型名的信息,它可以忽略它。虽然它的目的是为用户和ref参数,该方法可用于设置任何JDBC类型null参数。如果该参数没有定义或引用类型,指定typename是不容忽视的。
parameterIndex
-第一个参数是1,其次是2,…
sqlType
从
java.sql.Types
值
typeName
-一个SQL的完全限定名称的用户定义的类型;如果参数不是一个用户定义类型或裁判无视
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
-如果
sqlType
是
ARRAY
,
BLOB
,
CLOB
,
DATALINK
,
JAVA_OBJECT
,
NCHAR
,
NCLOB
,
NVARCHAR
,
LONGNVARCHAR
,
REF
,
ROWID
,
SQLXML
或
STRUCT
数据类型和JDBC驱动程序不如果JDBC驱动程序不支持此方法支持这种数据类型或
void setURL(int parameterIndex, URL x) throws SQLException
java.net.URL
指定参数值。司机将一个SQL
DATALINK
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
x
-
java.net.URL
对象被设置
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement
对象参数的类型和性质。
ParameterMetaData
对象所包含的信息的数量,因为这
PreparedStatement
对象的每个参数标记的类型和性质
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
ParameterMetaData
void setRowId(int parameterIndex, RowId x) throws SQLException
java.sql.RowId
对象指定的参数。司机将一个SQL
ROWID
价值时,它发送到数据库
parameterIndex
-第一个参数是1,其次是2,…
x
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setNString(int parameterIndex, String value) throws SQLException
String
对象指定的参数。司机将一个SQL
NCHAR
或
NVARCHAR
或
LONGNVARCHAR
值(取决于参数的大小相对论
NVARCHAR
值驾驶极限)时,发送到数据库。
parameterIndex
- 1,其次是2,…
value
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果一个数据库访问错误;或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader
对象指定的参数。的
Reader
读取数据直到文件结束了。司机从java字符格式设置数据库中的民族性格的必要的转换。
parameterIndex
- 1,其次是2,…
value
-参数值
length
在参数数据的字符数。
SQLException
如果参数指标不符合SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果一个数据库访问错误;或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob
对象指定的参数。司机将一个SQL
NCLOB
价值时,它发送到数据库。
parameterIndex
-第一个参数是1,其次是2,…
value
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果一个数据库访问错误;或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或者指定的长度小于零。
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
;如果指定长度小于零或如果在InputStream字节数不匹配指定的长度。
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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
如果参数指标不符合SQL语句中的参数标记;如果指定长度小于零;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果发生错误或数据库访问调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
对象指定的参数。司机将一个SQL
XML
价值时,它发送到数据库。
parameterIndex
-第一个参数指数为1,其次是2,…
xmlObject
-
SQLXML
对象映射一个SQL
XML
价值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或
java.xml.transform.Result
,
Writer
或
OutputStream
尚未关闭的
SQLXML
对象
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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类型定义)被发送到数据库。规模参数可以进一步限定这种类型。
scaleOrLength
-
java.sql.Types.DECIMAL
或
java.sql.Types.NUMERIC types
,这是小数点后的位数。java对象类型
InputStream
和
Reader
,这是在流或读者的数据长度。对于所有其他类型,此值将被忽略。
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或者指定x的java对象是一个InputStream或Reader对象和尺度参数的值小于零
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持指定的targetsqltype
Types
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARCHAR
参数,它可以通过
java.io.InputStream
送它更实用。将数据从流中读到的需要直到文件结束了。JDBC驱动程序将从ASCII格式的数据库做任何必要的转换。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含ASCII码的参数值
length
在流的字节数
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARBINARY
参数,它可以通过
java.io.InputStream
对象发送它更实用。将从所需要的数据读取到所需的数据,直到文件结束为止。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含二进制参数值
length
在流的字节数
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
LONGVARCHAR
参数,它可以通过
java.io.InputStream
送它更实用。将从所需的数据流中读取数据,直到达到文件结束为止。JDBC驱动程序将从ASCII格式的数据库做任何必要的转换。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setAsciiStream
以长度参数。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含ASCII码的参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
LONGVARBINARY
参数,它可以通过
java.io.InputStream
对象发送它更实用。将从所需要的数据读取到所需的数据,直到文件结束为止。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setBinaryStream
以长度参数。
parameterIndex
-第一个参数是1,其次是2,…
x
- java输入流包含二进制参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Reader
对象指定的参数。的
Reader
读取数据直到文件结束了。司机从java字符格式设置数据库中的民族性格的必要的转换。
注:这个流对象可以是一个标准的java流对象或自己的子类实现的接口标准。
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setNCharacterStream
以长度参数。
parameterIndex
- 1,其次是2,…
value
-参数值
SQLException
如果参数指标不符合SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果一个数据库访问错误;或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setClob(int parameterIndex, Reader reader) throws SQLException
Reader
对象指定的参数。这种方法不同于
setCharacterStream (int, Reader)
方法因为它通知驱动程序,参数值应为
CLOB
发送到服务器。当
setCharacterStream
方法时,司机可能需要做额外的工作来确定参数的数据应作为一个
LONGVARCHAR
或
CLOB
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setClob
以长度参数。
parameterIndex
-第一个参数指数为1,其次是2,…
reader
对象包含要设置的参数值的数据。
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
or如果参数指标不符合SQL语句中的参数标记
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream
对象指定的参数。这种方法不同于
setBinaryStream (int, InputStream)
方法因为它通知驱动程序,参数值应为
BLOB
发送到服务器。当
setBinaryStream
方法时,司机可能需要做额外的工作来确定参数的数据应作为一个
LONGVARBINARY
或
BLOB
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setBlob
以长度参数。
parameterIndex
-第一个参数指数为1,其次是2,…
inputStream
对象包含要设置的参数值的数据。
SQLException
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或者参数指标不符合SQL语句中的参数标记,
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader
对象指定的参数。这种方法不同于
setCharacterStream (int, Reader)
方法因为它通知驱动程序,参数值应为
NCLOB
发送到服务器。当
setCharacterStream
方法时,司机可能需要做额外的工作来确定参数的数据应作为一个
LONGNVARCHAR
或
NCLOB
注:咨询你的JDBC驱动程序文件以确定它是否可以更有效地使用一个版本的setNClob
以长度参数。
parameterIndex
-第一个参数指数为1,其次是2,…
reader
对象包含要设置的参数值的数据。
SQLException
如果参数指标不符合SQL语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序可以检测到一个数据转换错误可能发生;如果发生错误或数据库访问调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
或者指定x的java对象是一个InputStream或Reader对象和尺度参数的值小于零
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持指定的targetsqltype
JDBCType
,
SQLType
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
如果参数指标不符合SQL语句中的参数标记;如果数据库访问错误发生或调用此方法在一个封闭的
PreparedStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持指定的targetsqltype
JDBCType
,
SQLType
default long executeLargeUpdate() throws SQLException
PreparedStatement
对象执行SQL语句,它必须是一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
默认实现将UnsupportedOperationException
SQLException
-如果一个数据库访问错误;这种方法被称为在一个封闭的
PreparedStatement
或SQL语句返回
ResultSet
对象
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.