Statement (3)

原创 2007年09月24日 22:25:00

批处理:

流程说明:

  1. 首先将利用Connection 对象的 createStatement 方法,建立一个Statement 对象;
  2. 在开始出入SQL命令至 Batch之前,通常我们会执行 clearBatch 方法,确定Batch之内没有任何的SQL命令;
  3. 接下来利用addBatch方法,将要执行的SQL 命令储存到 Batch 之中;
  4. 重复第3步骤直到所有要执行的SQL命令全部加入Batch 之中;
  5. 最用利用 executeBatch 方法,将 Batch 传送至数据库执行。

---------------------------------------------------------------------------------------

public void addBatch(String sql) throws SQLException

方法说明:插入一个SQL 命令至 Statement 对象的批处理命令中。

1、参数:sql ----- 任何形式的SQL命令。

2、返回值: 无。

3、异常: SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。

4、附加:无。

---------------------------------------------------------------------------------------

public void clearBatch() throws SQLException

方法说明:将Statement 对象中的所有SQL命令清楚。

1、参数:无。

2、返回值: 无。

3、异常: SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。

4、附加:无。

---------------------------------------------------------------------------------------

public int[ ] executeBatch() throws SQLException

方法说明:将Statement 对象中所有的Batch命令传送至数据库执行,数据库执行之后会返回一个整型数组(Integer Array)。数组的每一个元素表示Batch命令中每一个SQL命令执行之后插入或者修改的记录条数。

1、参数:无。

2、返回值:Int[ ] ----- 数组的每一个元素表示Batch命令中每一个SQL命令执行之后插入或者修改的记录条数。

           *   数组中每一个元素的值可能有下列三种情况:

    1. 一个大于0或者等于0的值。表示数据库执行SQL命令成功,元素值为数据库变动记录的条数。
    2. 一个等于-2的值。表示数据库执行SQL命令成功,但是数据库无法知道影响的记录条数。
    3. 一个等于-3的值。表示数据库执行SQL命令失败,这个值惟有在当数据库执行一个SQL命令失败后,将继续执行接下来批处理的SQL命令才会产生。

3、异常:

  1. SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。
  2. BatchUpdateException ----- BatchUpdateException 是SQLException 的子类,当数据库执行批处理时,在任何一个SQL命令发生错误或者是SQL命令要返回一个 ReusltSet 时,则会产生 BatchUpdateException对象。

4、附加:无。

---------------------------------------------------------------------------------------

相关文章推荐

《重构》 — Java示例:影片出租店程序(3、重构——分解并重组Statement)

示例:影片出租店程序(重构——分解并重组Statement) 步骤: 1、提炼“金额计算”代码 1.1、提炼“逻辑泥团”——“提炼方法(Extract Method)” ...

CppSQLite3Statement用法和得到数据库表的某一字段的最大值或一张表数据的条数

BOOL InformationTable::PHtoGMDSqlite(const CString &strPHSqlPath,const CString &strGMDsqlPath) { ...

MySQL 中二进制日志 (binlog) 3 种不同的格式(Mixed,Statement,Row)

MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。 MyS...

《重构》 — Delphi示例:影片出租店程序(3、重构——分解并重组Statement)

示例:影片出租店程序(重构——分解并重组Statement) 步骤: 1、提炼“金额计算”代码 1.1、提炼“逻辑泥团”——“提炼方法(Extract Method)” ...

(3)LUA程序设计-表达式与语句(expression & statement)

1.表达式      lua的表达式,一般由数字/字符串常量,一元/二元运算符,函数调用构成,除此外,lua表达式当中还可以有函数定义和table构造式      1.1算术运算符       ...

Mybatis3源码分析(15)-Sql解析执行-Statement初始化和参数设置

在SimpleExecutor中,执行SQL时调用preareStatement()方法来对statement进行初始化及参数设置。 private Statement prepareStat...

Hibernate连接池三种配置实例 以及解决C3P0错误:com.mchange.v2.c3p0.stmt.GooGooStatementCache - Problem with checked-in Statement, discarding.

Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在Hibernate连接池配置时需要注意的有三点:一、Apche的DBCP在Hibernate2中受支持...

c3p0 - JDBC3 Connection and Statement Pooling

http://www.mchange.com/projects/c3p0/index.html c3p0 - JDBC3 Connection and Statement Pooli...
  • ky000
  • ky000
  • 2011年08月22日 11:20
  • 1423

Generate statement for hardcode

  • 2013年09月06日 13:04
  • 65KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Statement (3)
举报原因:
原因补充:

(最多只允许输入30个字)