JavaTM 2 Platform
Standard Ed. 5.0

java.sql
类 BatchUpdateException

java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 java.sql.SQLException
              继承者 java.sql.BatchUpdateException
所有已实现的接口:
Serializable

public class BatchUpdateException
extends SQLException

当在进行批量更新操作期间发生错误时,抛出该异常。除了 SQLException 提供的信息以外,BatchUpdateException 提供批量更新期间成功执行的所有命令的更新计数,也就是发生错误之前执行的所有命令的更新计数。更新计数数组中的元素的顺序对应于将命令添加到批处理中的顺序。

在批量更新中的命令无法正确执行并抛出一个 BatchUpdateException 之后,驱动程序可以继续处理批处理中的剩余命令,也可以不执行。如果驱动程序在某一失败后继续进行处理,则 BatchUpdateException.getUpdateCounts 方法返回的数组中批处理的每个命令都有一个对应的元素,而不仅仅是发生错误前成功执行的命令才有对应的元素。在驱动程序继续处理命令的情况下,所有执行失败的命令对应的数组元素都是 Statement.EXECUTE_FAILED

从以下版本开始:
1.2
另请参见:
序列化表格

构造方法摘要
BatchUpdateException()
          使用初始化为 null 的 reason、SQLState 和更新计数以及初始化为 0 的供应商代码构造一个 BatchUpdateException 对象。
BatchUpdateException(int[] updateCounts)
          构造一个初始化为 null(代表 reason)和 0(代表供应商代码)的 BatchUpdateException
BatchUpdateException(String reason, int[] updateCounts)
          构造一个使用 reasonupdateCounts 初始化的 BatchUpdateExceptionnull 代表 SQLState,0 代表 vendorCode。
BatchUpdateException(String reason, String SQLState, int[] updateCounts)
          构造一个使用给定参数(reasonSQLStateupdateCounts)初始化的 BatchUpdateException,0 代表供应商代码。
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
          构造一个完全指定的 BatchUpdateException 对象,使用给定值对其进行初始化。
 
方法摘要
 int[] getUpdateCounts()
          检索发生此异常之前批量更新中成功执行的每个更新语句的更新计数。
 
从类 java.sql.SQLException 继承的方法
getErrorCode, getNextException, getSQLState, setNextException
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            int[] updateCounts)
构造一个完全指定的 BatchUpdateException 对象,使用给定值对其进行初始化。

参数:
reason - 错误的描述
SQLState - 标识错误的 X/OPEN 代码
vendorCode - 由特定数据库供应商使用的异常代码
updateCounts - 一个 int 数组,其每个元素指示抛出异常前成功执行的 SQL 命令的更新计数
从以下版本开始:
1.2

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int[] updateCounts)
构造一个使用给定参数(reasonSQLStateupdateCounts)初始化的 BatchUpdateException,0 代表供应商代码。

参数:
reason - 异常的描述
SQLState - 标识异常的 X/OPEN 代码
updateCounts - 一个 int 数组,其每个元素指示抛出异常前成功执行的 SQL 命令的更新计数
从以下版本开始:
1.2

BatchUpdateException

public BatchUpdateException(String reason,
                            int[] updateCounts)
构造一个使用 reasonupdateCounts 初始化的 BatchUpdateExceptionnull 代表 SQLState,0 代表 vendorCode。

参数:
reason - 异常的描述
updateCounts - 一个 int 数组,其每个元素指示抛出异常前成功执行的 SQL 命令的更新计数
从以下版本开始:
1.2

BatchUpdateException

public BatchUpdateException(int[] updateCounts)
构造一个初始化为 null(代表 reason)和 0(代表供应商代码)的 BatchUpdateException

参数:
updateCounts - 一个 int 数组,其每个元素指示抛出异常前成功执行的 SQL 命令的更新计数
从以下版本开始:
1.2

BatchUpdateException

public BatchUpdateException()
使用初始化为 null 的 reason、SQLState 和更新计数以及初始化为 0 的供应商代码构造一个 BatchUpdateException 对象。

从以下版本开始:
1.2
方法详细信息

getUpdateCounts

public int[] getUpdateCounts()
检索发生此异常之前批量更新中成功执行的每个更新语句的更新计数。在某一命令无法正确执行时,实现批量更新的驱动程序可以继续处理批处理中剩余命令,也可以不执行。如果驱动程序继续处理命令,则此方法返回的数组所拥有的元素数量将与批处理中命令数量相同;否则,该数组将包含抛出 BatchUpdateException 之前成功执行的每条命令的更新计数。

此方法的可能返回值是在 Java 2 SDK 标准版的 1.3 版中修改的。这样做是为了使其适应在已经抛出 BatchUpdateException 对象之后仍然能够继续处理批量更新中的命令这一新选项。

返回:
一个 int 数组,该数组包含发生此错误之前成功执行的更新的更新计数。如果驱动程序在发生错误之后仍然继续处理命令,则对批处理中的每条命令返回以下内容之一:
  1. 更新计数
  2. Statement.SUCCESS_NO_INFO,指示成功执行了命令,但受影响的行数是未知的
  3. Statement.EXECUTE_FAILED,指示没有成功地执行命令
从以下版本开始:
1.3

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策