public interface Statement extends Wrapper, AutoCloseable
该对象用于执行静态SQL语句并返回它产生的结果。
默认情况下,只有一个ResultSet
对象每Statement
对象可以同时打开。因此,如果一个ResultSet
对象的阅读是交错的另一个阅读,每个人都必须有不同的Statement
对象产生。在Statement
接口的所有执行方法隐式关闭的声明,目前ResultSet
对象如果打开一个存在。
Modifier and Type | Field and Description |
---|---|
static int |
CLOSE_ALL_RESULTS
恒表示,先前已打开所有
ResultSet 对象应该关闭时调用
getMoreResults 。
|
static int |
CLOSE_CURRENT_RESULT
常数表明当前
ResultSet 对象应该关闭时调用
getMoreResults 。
|
static int |
EXECUTE_FAILED
执行批处理语句时发生的错误的常数。
|
static int |
KEEP_CURRENT_RESULT
常数表明当前
ResultSet 对象不应该关闭时调用
getMoreResults 。
|
static int |
NO_GENERATED_KEYS
常数指示生成的密钥不应用于检索。
|
static int |
RETURN_GENERATED_KEYS
指示生成的密钥的常数应用于检索。
|
static int |
SUCCESS_NO_INFO
指示一个批处理语句成功执行的常量,但它不影响它所影响的行数的计数。
|
Modifier and Type | Method and Description |
---|---|
void |
addBatch(String sql)
将给定的SQL命令的命令的当前列表这
Statement 对象。
|
void |
cancel()
如果取消这
Statement 对象数据库和驱动支持中止一个SQL语句。
|
void |
clearBatch()
把这
Statement SQL命令对象的当前列表。
|
void |
clearWarnings()
清除所有的警告报道这
Statement 对象。
|
void |
close()
此次发布的
Statement 对象的数据库和JDBC资源,而不是等待这种情况发生时,它立刻自动关闭。
|
void |
closeOnCompletion()
指定该
Statement 将会关闭所有依赖于它的结果集是封闭的。
|
boolean |
execute(String sql)
执行给定的SQL语句,可以返回多个结果。
|
boolean |
execute(String sql, int autoGeneratedKeys)
执行给定的SQL语句,可以返回多个结果,和信号的驱动程序,任何自动生成的键应提供检索。
|
boolean |
execute(String sql, int[] columnIndexes)
执行给定的SQL语句,可以返回多个结果,和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
boolean |
execute(String sql, String[] columnNames)
执行给定的SQL语句,可以返回多个结果,和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
int[] |
executeBatch()
向数据库提交一个命令到执行,如果所有的命令都成功执行,则返回一个更新计数的数组。
|
default long[] |
executeLargeBatch()
向数据库提交一个命令到执行,如果所有的命令都成功执行,则返回一个更新计数的数组。
|
default long |
executeLargeUpdate(String sql)
执行给定的SQL语句,这可能是一个
INSERT ,
UPDATE ,或
DELETE 语句或SQL语句不返回值,例如SQL DDL语句。
|
default long |
executeLargeUpdate(String sql, int autoGeneratedKeys)
执行给定的SQL语句和信号与给定的标志是否自动生成的
Statement 物体产生的钥匙应提供检索的司机。
|
default long |
executeLargeUpdate(String sql, int[] columnIndexes)
执行给定的SQL语句和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
default long |
executeLargeUpdate(String sql, String[] columnNames)
执行给定的SQL语句和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
ResultSet |
executeQuery(String sql)
执行给定的SQL语句,返回一个
ResultSet 对象。
|
int |
executeUpdate(String sql)
执行给定的SQL语句,这可能是一个
INSERT ,
UPDATE ,或
DELETE 语句或SQL语句不返回值,例如SQL DDL语句。
|
int |
executeUpdate(String sql, int autoGeneratedKeys)
执行给定的SQL语句和信号与给定的标志是否自动生成的
Statement 物体产生的钥匙应提供检索的司机。
|
int |
executeUpdate(String sql, int[] columnIndexes)
执行给定的SQL语句和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
int |
executeUpdate(String sql, String[] columnNames)
执行给定的SQL语句和信号驱动程序,自动生成给定阵列应提供检索显示键。
|
Connection |
getConnection()
产生这一
Statement 检索对象的
Connection 对象。
|
int |
getFetchDirection()
从数据库表中检索,结果默认从这个
Statement 对象生成集取行的方向。
|
int |
getFetchSize()
检索结果集的行,是默认取
ResultSet 对象从这
Statement 对象生成的数。
|
ResultSet |
getGeneratedKeys()
检索任何自动生成的创建作为一个结果,执行这
Statement 对象键。
|
default long |
getLargeMaxRows()
检索,
ResultSet 对象的
Statement 对象可以包含的最大行数。
|
default long |
getLargeUpdateCount()
检索当前结果为更新计数;如果结果是
ResultSet 对象或没有结果,返回- 1。
|
int |
getMaxFieldSize()
检索字节可以返回字符和二进制在
ResultSet 对象的
Statement 物体产生的列值的最大数量。
|
int |
getMaxRows()
检索,
ResultSet 对象的
Statement 对象可以包含的最大行数。
|
boolean |
getMoreResults()
这
Statement 移动对象的下一个结果,返回
true 如果是
ResultSet 对象,和隐式关闭任何电流
ResultSet 对象(S)的方法得到的
getResultSet 。
|
boolean |
getMoreResults(int current)
这
Statement 移动对象的下一个结果,与任何现有的
ResultSet 交易对象(S)根据给定的标志指定的指令,并返回
true 如果接下来的结果是一个
ResultSet 对象。
|
int |
getQueryTimeout()
检索数秒,司机将等待
Statement 对象执行。
|
ResultSet |
getResultSet()
检索当前结果作为一个
ResultSet 对象。
|
int |
getResultSetConcurrency()
检索对象的
ResultSet
Statement 对象生成的结果集的并发。
|
int |
getResultSetHoldability()
检索对象的
ResultSet
Statement 对象生成的结果集的保持性。
|
int |
getResultSetType()
检索对象的
ResultSet
Statement 对象生成的结果集的类型。
|
int |
getUpdateCount()
检索当前结果为更新计数;如果结果是
ResultSet 对象或没有结果,返回- 1。
|
SQLWarning |
getWarnings()
获取第一个警告,这
Statement 对象调用的报道。
|
boolean |
isClosed()
这是否
Statement 检索对象已关闭。
|
boolean |
isCloseOnCompletion()
返回一个值,指示此
Statement 将会关闭所有依赖于它的结果集是封闭的。
|
boolean |
isPoolable()
返回一个值,指示是否
Statement 是poolable或不。
|
void |
setCursorName(String name)
设置SQL游标到给定的
String ,这将在后续的
Statement 对象
execute 方法。
|
void |
setEscapeProcessing(boolean enable)
设置或关闭的逃避处理。
|
void |
setFetchDirection(int direction)
给司机一个提示的方向,行将在
ResultSet 处理对象的使用这个
Statement 对象创建。
|
void |
setFetchSize(int rows)
给JDBC驱动程序提示的行数,应该从数据库中取出的时候,更多的行为
ResultSet 对象的生成需要
Statement 。
|
default void |
setLargeMaxRows(long max)
设置该对象的任何
ResultSet
Statement 对象生成可以包含一定数量的最大行数限制。
|
void |
setMaxFieldSize(int max)
字节集可以返回字符和二进制在
ResultSet 对象的对象产生
Statement 列值的最大数量的限制。
|
void |
setMaxRows(int max)
设置该对象的任何
ResultSet
Statement 对象生成可以包含一定数量的最大行数限制。
|
void |
setPoolable(boolean poolable)
要求一个
Statement 被合并或不合并。
|
void |
setQueryTimeout(int seconds)
集数秒,司机将等待
Statement 对象执行给定的秒数。
|
isWrapperFor, unwrap
static final int CLOSE_CURRENT_RESULT
ResultSet
对象应该关闭时调用
getMoreResults
。
static final int KEEP_CURRENT_RESULT
ResultSet
对象不应该关闭时调用
getMoreResults
。
static final int CLOSE_ALL_RESULTS
ResultSet
对象应该关闭时调用
getMoreResults
。
static final int SUCCESS_NO_INFO
static final int EXECUTE_FAILED
static final int RETURN_GENERATED_KEYS
static final int NO_GENERATED_KEYS
ResultSet executeQuery(String sql) throws SQLException
ResultSet
对象。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-一个SQL语句发送到数据库的SQL语句,通常是一个静态的
SELECT
ResultSet
对象包含在给定的查询产生的数据;不
null
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,给定的SQL语句产生比其他任何一个单一的
ResultSet
对象,调用此方法是在
PreparedStatement
或
CallableStatement
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
int executeUpdate(String sql) throws SQLException
INSERT
,
UPDATE
,或
DELETE
语句或SQL语句不返回值,例如SQL DDL语句。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,给定的SQL语句产生一个
ResultSet
对象,调用此方法是在
PreparedStatement
或
CallableStatement
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
void close() throws SQLException
Statement
对象的数据库和JDBC资源,而不是等待这种情况发生时,它立刻自动关闭。通常是很好的做法,释放资源,一旦你完成了他们,以避免捆绑数据库资源。
在Statement
对象已关闭调用方法close
没有影响。
注:when一Statement
对象是封闭的,其目前的ResultSet
对象,如果存在,也关闭。
close
接口
AutoCloseable
SQLException
-如果一个数据库访问错误发生
int getMaxFieldSize() throws SQLException
ResultSet
对象的
Statement
物体产生的列值的最大数量。此限制仅适用于
BINARY
,
VARBINARY
,
LONGVARBINARY
,
CHAR
,
VARCHAR
,
NCHAR
,
NVARCHAR
,
LONGNVARCHAR
和
LONGVARCHAR
柱。如果超出极限,则会将多余的数据默默地丢弃。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setMaxFieldSize(int)
void setMaxFieldSize(int max) throws SQLException
ResultSet
对象的对象产生
Statement
列值的最大数量的限制。此限制仅适用于
BINARY
,
VARBINARY
,
LONGVARBINARY
,
CHAR
,
VARCHAR
,
NCHAR
,
NVARCHAR
,
LONGNVARCHAR
和
LONGVARCHAR
领域。如果超出极限,则会将多余的数据默默地丢弃。为了最大的可移植性,使用值大于256。
max
-新列的大小限制的字节数;零表示没有限制
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或条件
max >= 0
不满意
getMaxFieldSize()
int getMaxRows() throws SQLException
ResultSet
对象的
Statement
对象可以包含的最大行数。如果超出此限制,则将静默地丢弃多余的行。
ResultSet
对象的对象产生
Statement
行电流最大值;零表示没有限制
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setMaxRows(int)
void setMaxRows(int max) throws SQLException
ResultSet
Statement
对象生成可以包含一定数量的最大行数限制。如果超出了极限,则将静默地丢弃多余的行。
max
-新的最大行数限制;零表示没有限制
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或条件
max >= 0
不满意
getMaxRows()
void setEscapeProcessing(boolean enable) throws SQLException
的Connection
和DataSource
财产escapeProcessing
可以用来改变默认转义处理的行为。真值(默认)使所有Statement
对象逃避处理。值为false禁用逃避所有Statement
对象的处理。的setEscapeProcessing
方法可用于指定单个Statement
对象逃避处理行为。
注:由于编制报表通常被解析,在打电话之前,禁用逃避处理PreparedStatements
对象将不起作用。
enable
-
true
使逃避处理;
false
禁用它
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
int getQueryTimeout() throws SQLException
Statement
对象执行。如果超出此限制,一
SQLException
抛出。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setQueryTimeout(int)
void setQueryTimeout(int seconds) throws SQLException
Statement
对象执行给定的秒数。默认情况下,允许运行语句完成的时间的数量没有限制。如果超出此限制,一个
SQLTimeoutException
抛出。JDBC驱动程序必须将这一限制的
execute
,
executeQuery
和
executeUpdate
方法。
注: JDBC驱动程序的实现也可以应用此限制ResultSet
方法(请咨询您的驱动器供应商文件详情)。
在Statement
注:配料的情况下,它是实现定义为是否超时是适用于单独的SQL命令通过addBatch
方法或SQL整个批处理命令的executeBatch
方法调用(请咨询您的驱动器供应商文件详情)。
seconds
-新的查询超时限制秒;零表示没有限制
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或条件
seconds >= 0
不满意
getQueryTimeout()
void cancel() throws SQLException
Statement
对象数据库和驱动支持中止一个SQL语句。此方法可以使用一个线程来取消一个由另一个线程执行的语句。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLWarning getWarnings() throws SQLException
Statement
报道对象。随后
Statement
对象警告将在这
SQLWarning
对象。
每一个语句在执行一个语句时,都会自动清除警告链。这种方法可能不被称为在一个封闭的Statement
对象;这样做将导致SQLException
被。
如果你是一个ResultSet
注:处理对象,任何与之相关的警告上读ResultSet
对象将被锁上而不是在Statement
对象产生它。
SQLWarning
对象或
null
如果没有警告
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
void clearWarnings() throws SQLException
Statement
对象。调用此方法后,该方法将一个新的警告
getWarnings
直到报道这
Statement
null
返回对象。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
void setCursorName(String name) throws SQLException
String
,这将在后续的
Statement
对象
execute
方法。这个名字可以用来定位更新或删除SQL语句来识别在
ResultSet
对象的语句生成的当前行。如果数据库不支持定位更新/删除,这是一种空。为了确保光标有适当的隔离级别,支持更新,光标的
SELECT
声明应该形式
SELECT FOR UPDATE
。如果
FOR UPDATE
不存在,定位更新可能会失败。
注:顾名思义,定位更新和删除的执行必须由不同的Statement
对象相比,产生的ResultSet
对象被用于定位。此外,游标名称必须在连接中是唯一的。
name
-新的游标,它必须在一个连接是独一无二的
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
boolean execute(String sql) throws SQLException
的execute
方法执行SQL语句和显示的第一个结果的形式。你必须使用的方法getResultSet
或getUpdateCount
检索结果,并getMoreResults
搬到任何后续结果(S)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-任何SQL语句
true
如果第一个结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,该方法被称为一个
PreparedStatement
或
CallableStatement
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
getResultSet()
,
getUpdateCount()
,
getMoreResults()
ResultSet getResultSet() throws SQLException
ResultSet
对象。这种方法应该只被调用一次。
ResultSet
对象或
null
或没有结果
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
execute(java.lang.String)
int getUpdateCount() throws SQLException
ResultSet
对象或没有结果,返回- 1。这种方法应该只被调用一次。
ResultSet
对象或没有结果
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
execute(java.lang.String)
boolean getMoreResults() throws SQLException
Statement
移动对象的下一个结果,返回
true
如果是
ResultSet
对象,和隐式关闭任何电流
ResultSet
对象(S)的方法得到的
getResultSet
。
有没有更多的结果时,以下是真的:
// stmt is a Statement object
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
true
如果接下来的结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
execute(java.lang.String)
void setFetchDirection(int direction) throws SQLException
ResultSet
处理对象的使用这个
Statement
对象创建。默认值是
ResultSet.FETCH_FORWARD
。
请注意,此方法设置默认取结果的方向Statement
对象生成集。每个结果集都有自己的方法来获取和设置自己的提取方向。
direction
-处理行的初始方向
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或给定的方向是不是一个
ResultSet.FETCH_FORWARD
,
ResultSet.FETCH_REVERSE
,或
ResultSet.FETCH_UNKNOWN
getFetchDirection()
int getFetchDirection() throws SQLException
Statement
对象生成集取行的方向。如果这
Statement
对象没有通过调用该方法
setFetchDirection
集取方向,返回值是具体实施。
Statement
对象生成集
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setFetchDirection(int)
void setFetchSize(int rows) throws SQLException
ResultSet
对象的生成需要
Statement
。如果指定的值为零,则将忽略提示。默认值为零。
rows
-行数取
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或条件
rows >= 0
不满意。
getFetchSize()
int getFetchSize() throws SQLException
ResultSet
对象从这
Statement
对象生成的数。如果这
Statement
对象没有通过调用该方法
setFetchSize
设置取大小,返回值的具体实施。
Statement
对象生成
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setFetchSize(int)
int getResultSetConcurrency() throws SQLException
ResultSet
Statement
对象生成的结果集的并发。
ResultSet.CONCUR_READ_ONLY
或
ResultSet.CONCUR_UPDATABLE
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
int getResultSetType() throws SQLException
ResultSet
Statement
对象生成的结果集的类型。
ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
,或
ResultSet.TYPE_SCROLL_SENSITIVE
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
void addBatch(String sql) throws SQLException
Statement
对象。此列表中的命令可以通过调用批处理执行的方法
executeBatch
。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-这通常是一个SQL语句或
UPDATE
INSERT
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,驱动程序不支持批量更新,该方法被称为一个
PreparedStatement
或
CallableStatement
executeBatch()
,
DatabaseMetaData.supportsBatchUpdates()
void clearBatch() throws SQLException
Statement
SQL命令对象的当前列表。
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或驱动程序不支持批量更新
addBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
int[] executeBatch() throws SQLException
int
排列元素对应的批处理中的命令,并根据命令它们的顺序添加到批处理。在阵列的方法
executeBatch
返回的元素可能是下列之一:
SUCCESS_NO_INFO
--表明该命令已成功处理而受影响的行数是未知的如果在批处理更新命令不能正确执行,该方法抛出一个BatchUpdateException
,和JDBC驱动程序可能会或可能不会继续在批处理剩余的命令。然而,驱动程序的行为必须与一个特定的数据库管理系统一致,无论是始终继续处理命令或从不继续处理命令。如果司机继续处理失败之后,返回的数组的方法BatchUpdateException.getUpdateCounts
将包含许多元素在批有命令,和至少一个部件将以下:
EXECUTE_FAILED
--表示命令执行失败成功只发生如果司机继续处理命令失败后可能的实现和返回值已在java 2 SDK,修正标准版、1.3版以适应后BatchUpdateException
对象已经继续在批处理更新过程的命令选项。
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或驱动程序不支持批处理语句。
BatchUpdateException
(
SQLException
抛出的子类)如果一个命令发送到数据库未正确执行或试图返回一个结果集。
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
addBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
Connection getConnection() throws SQLException
Statement
检索对象的
Connection
对象。
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
boolean getMoreResults(int current) throws SQLException
Statement
移动对象的下一个结果,与任何现有的
ResultSet
交易对象(S)根据给定的标志指定的指令,并返回
true
如果接下来的结果是一个
ResultSet
对象。
有没有更多的结果时,以下是真的:
// stmt is a Statement object
((stmt.getMoreResults(current) == false) && (stmt.getUpdateCount() == -1))
current
-下面的一个
Statement
常数表示发生的使用方法
getResultSet
当前
ResultSet
对象得到什么:
Statement.CLOSE_CURRENT_RESULT
,
Statement.KEEP_CURRENT_RESULT
,或
Statement.CLOSE_ALL_RESULTS
true
如果接下来的结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或参数提供的是下列之一:
Statement.CLOSE_CURRENT_RESULT
,
Statement.KEEP_CURRENT_RESULT
或
Statement.CLOSE_ALL_RESULTS
SQLFeatureNotSupportedException
-如果
DatabaseMetaData.supportsMultipleOpenResults
返回
false
和
Statement.KEEP_CURRENT_RESULT
或
Statement.CLOSE_ALL_RESULTS
提供论据。
execute(java.lang.String)
ResultSet getGeneratedKeys() throws SQLException
Statement
对象键。如果这
Statement
对象没有产生任何键,一个空的
ResultSet
对象返回。
注:if为代表的自动生成的键没有指定的列,JDBC驱动程序实现将确定柱的最佳代表自动生成的键。
ResultSet
对象(S)在本
Statement
对象的执行产生
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement
物体产生的钥匙应提供检索的司机。司机如果SQL语句是不
INSERT
声明忽略标志,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
autoGeneratedKeys
-指示是否自动生成的键应提供检索标志;下面的一个常数:
Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYS
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,给定的SQL语句返回
ResultSet
对象,给定的常数是不是其中的一个允许的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不与statement.return_generated_keys不断支持这种方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
int executeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
columnIndexes
-柱指标表明应该从插入的行返回的列的数组
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,SQL语句返回
ResultSet
对象,提供此方法的第二个参数不是一个
int
元素的数组有效列指标,该方法被称为一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
int executeUpdate(String sql, String[] columnNames) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
columnNames
-这应该从插入的行返回的列名称的数组
INSERT
,
UPDATE
,或
DELETE
陈述,或0,不返回SQL语句
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,SQL语句返回
ResultSet
对象,提供此方法的第二个参数不是一个
String
元素的数组是有效的列名称的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
boolean execute(String sql, int autoGeneratedKeys) throws SQLException
INSERT
声明忽略这个信号,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
在一些(罕见)的情况下,一个单一的SQL语句可能返回多个结果集和/或更新计数。通常你可以忽略这个除非你是(1)执行存储过程,你知道可能返回多个结果或(2)你是动态执行一个未知的SQL字符串。
的execute
方法执行SQL语句和显示的第一个结果的形式。你必须使用的方法getResultSet
或getUpdateCount
检索结果,并getMoreResults
搬到任何后续结果(S)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-任何SQL语句
autoGeneratedKeys
-一个恒定的指示是否自动生成的键应该是可供使用的方法
getGeneratedKeys
检索;下面的一个常数:
Statement.RETURN_GENERATED_KEYS
或
Statement.NO_GENERATED_KEYS
true
如果第一个结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,提供此方法的第二个参数不
Statement.RETURN_GENERATED_KEYS
或
Statement.NO_GENERATED_KEYS
,该方法被称为一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不与statement.return_generated_keys不断支持这种方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
getResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
boolean execute(String sql, int[] columnIndexes) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
在某些(罕见)的情况下,一个单一的SQL语句可能返回多个结果集和/或更新计数。通常你可以忽略这个除非你是(1)执行存储过程,你知道可能返回多个结果或(2)你是动态执行一个未知的SQL字符串。
的execute
方法执行SQL语句和显示的第一个结果的形式。你必须使用的方法getResultSet
或getUpdateCount
检索结果,并getMoreResults
搬到任何后续结果(S)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-任何SQL语句
columnIndexes
-数组的列的索引中插入行,应该通过调用的方法
getGeneratedKeys
供检索
true
如果第一个结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,通过这种方法,
int
数组的元素是无效的列索引的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
getResultSet()
,
getUpdateCount()
,
getMoreResults()
boolean execute(String sql, String[] columnNames) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
在一些(罕见)的情况下,一个单一的SQL语句可能返回多个结果集和/或更新计数。通常你可以忽略这个除非你是(1)执行存储过程,你知道可能返回多个结果或(2)你是动态执行一个未知的SQL字符串。
的execute
方法执行SQL语句和显示的第一个结果的形式。你必须使用的方法getResultSet
或getUpdateCount
检索结果,并getMoreResults
搬到任何后续结果(S)。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
sql
-任何SQL语句
columnNames
-的名字列在插入行,应该通过调用的方法
getGeneratedKeys
供检索数组
true
如果接下来的结果是一个
ResultSet
对象;
false
如果是更新计数或没有结果
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,传递给该方法的
String
数组的元素是无效的列名称的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
getResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
int getResultSetHoldability() throws SQLException
ResultSet
Statement
对象生成的结果集的保持性。
ResultSet.HOLD_CURSORS_OVER_COMMIT
或
ResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
boolean isClosed() throws SQLException
Statement
检索对象已关闭。一个
Statement
如果方法被称为它关闭,或者如果它是自动关闭。
Statement
关闭真;假如果它仍然是开放的
SQLException
-如果一个数据库访问错误发生
void setPoolable(boolean poolable) throws SQLException
Statement
被合并或不合并。指定的值是指示语句池实现的提示,指示应用程序是否希望语句将被合并。是否使用提示是否使用了语句池管理器。
一句话的poolable值适用于内部语句缓存实现的驱动和外部语句缓存的应用服务器和其他应用程序的实现。
默认情况下,一个Statement
不poolable时创建的,和PreparedStatement
和CallableStatement
创建时是poolable。
poolable
请求,声明将如果属实,声明不假
汇集
SQLException
-如果调用此方法在一个封闭的
Statement
boolean isPoolable() throws SQLException
Statement
是poolable或不。
true
如果
Statement
是poolable;
false
否则
SQLException
-如果调用此方法在一个封闭的
Statement
setPoolable(boolean)
void closeOnCompletion() throws SQLException
Statement
将会关闭所有依赖于它的结果集是封闭的。如果该
Statement
执行不产生任何结果集,该方法没有效果。
注:多次调用closeOnCompletion
不打开这Statement
效果。然而,一个叫closeOnCompletion
不影响后续执行报表和报表,目前已经开放,依赖的结果集。
SQLException
-如果调用此方法在一个封闭的
Statement
boolean isCloseOnCompletion() throws SQLException
Statement
将会关闭所有依赖于它的结果集是封闭的。
true
如果
Statement
将会关闭其所有相关的结果集是封闭的;
false
否则
SQLException
-如果调用此方法在一个封闭的
Statement
default long getLargeUpdateCount() throws SQLException
ResultSet
对象或没有结果,返回- 1。这种方法应该只被调用一次。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
默认实现将UnsupportedOperationException
ResultSet
对象或没有结果
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
execute(java.lang.String)
default void setLargeMaxRows(long max) throws SQLException
ResultSet
Statement
对象生成可以包含一定数量的最大行数限制。如果超出了极限,则将静默地丢弃多余的行。
这种方法时应该使用行限制可能超过Integer.MAX_VALUE
。
默认实现将UnsupportedOperationException
max
-新的最大行数限制;零表示没有限制
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或条件
max >= 0
不满意
getMaxRows()
default long getLargeMaxRows() throws SQLException
ResultSet
对象的
Statement
对象可以包含的最大行数。如果超出此限制,则将静默地丢弃多余的行。
这一方法时应使用返回的行限制可能超过Integer.MAX_VALUE
。
默认实现将返回0
ResultSet
对象的对象产生
Statement
行电流最大值;零表示没有限制
SQLException
-如果一个数据库访问错误发生或调用此方法在一个封闭的
Statement
setMaxRows(int)
default long[] executeLargeBatch() throws SQLException
long
排列元素对应的批处理中的命令,并根据命令它们的顺序添加到批处理。在阵列的方法
executeLargeBatch
返回的元素可能是下列之一:
SUCCESS_NO_INFO
--表明该命令已成功处理而受影响的行数是未知的如果在批处理更新命令不能正确执行,该方法抛出一个BatchUpdateException
,和JDBC驱动程序可能会或可能不会继续在批处理剩余的命令。然而,驱动程序的行为必须与一个特定的数据库管理系统一致,无论是始终继续处理命令或从不继续处理命令。如果司机继续处理失败之后,返回的数组的方法BatchUpdateException.getLargeUpdateCounts
将包含许多元素在批有命令,和至少一个部件将以下:
EXECUTE_FAILED
--表示命令执行失败成功只发生如果司机继续处理命令失败后这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
默认实现将UnsupportedOperationException
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
或驱动程序不支持批处理语句。
BatchUpdateException
(
SQLException
抛出的子类)如果一个命令发送到数据库未正确执行或试图返回一个结果集。
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
addBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
default long executeLargeUpdate(String sql) throws SQLException
INSERT
,
UPDATE
,或
DELETE
语句或SQL语句不返回值,例如SQL DDL语句。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
默认实现将UnsupportedOperationException
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,给定的SQL语句产生一个
ResultSet
对象,调用此方法是在
PreparedStatement
或
CallableStatement
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
default long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement
物体产生的钥匙应提供检索的司机。司机如果SQL语句是不
INSERT
声明忽略标志,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
默认实现将SQLFeatureNotSupportedException
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
autoGeneratedKeys
-指示是否自动生成的键应提供检索标志;下面的一个常数:
Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYS
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,给定的SQL语句返回
ResultSet
对象,给定的常数是不是其中的一个允许的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不与statement.return_generated_keys不断支持这种方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
default long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
默认实现将SQLFeatureNotSupportedException
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
columnIndexes
-柱指标表明应该从插入的行返回的列的数组
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,SQL语句返回
ResultSet
对象,提供此方法的第二个参数不是一个
int
元素的数组有效列指标,该方法被称为一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
SQLTimeoutException
-当司机决定了超时值,是由
setQueryTimeout
法规定已经超过,至少试图取消当前正在运行的
Statement
default long executeLargeUpdate(String sql, String[] columnNames) throws SQLException
INSERT
声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
这一方法时应使用返回的行数可能超过Integer.MAX_VALUE
。
注:this方法不能被称为一个PreparedStatement
或CallableStatement
。
默认实现将SQLFeatureNotSupportedException
sql
-一个SQL数据操作语言(DML)语句,如
INSERT
,
UPDATE
或
DELETE
;或一个SQL语句没有返回,如DDL语句。
columnNames
-这应该从插入的行返回的列名称的数组
INSERT
,
UPDATE
,或
DELETE
陈述,或0,不返回SQL语句
SQLException
-如果一个数据库访问错误发生时,这种方法被称为在一个封闭的
Statement
,SQL语句返回
ResultSet
对象,提供此方法的第二个参数不是一个
String
元素的数组是有效的列名称的方法被一个
PreparedStatement
或
CallableStatement
SQLFeatureNotSupportedException
如果JDBC驱动程序不支持此方法
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.