集算器管理数据库事务的代码示例

集算器可以向数据库写入数据,支持数据库事务管理。这里通过例子来看一下控制事务提交和回滚等等的编程方法。

1、自动提交事务

集算器可以方便的实现增删改,最简单的写法如下:

上图中的A2到A4分别实现了插入、修改和删除。每条sql执行之后自动提交。需要说明的是:

1、3条语句提交了3次,对数据库操作比较频繁。

2、三条sql没有事务关系,后续的sql如果执行失败,并不影响前面的sql。

下面介绍结合序表批量提交事务,以及多条sql组成一个事务的编程例子。

    2.批量提交事务

从students.txt文件中导入学生信息,用来更新数据库中的students1表,由于有很多记录需要修改,所以使用批量提交数据库的方式比较合理。

A1:定义一个文件对象,文件中保存的是学生信息。

A2:导入文件内容。

A3:使用A2中的学生信息,批量修改学生表1的内容。这里是使用批量提交sql的方式,可以避免频繁访问数据库。同时,能够保证整批数据同时成功写入或失败,即数据的一致性。

    3、程序控制事务

下面,我们要新增一个学生,插入数据之后,要将学生的id修改为9。为了保证数据一致性,插入和修改都成功之后才能提交,否则就要回滚。

A1:连接数据库。注意connect函数使用了@e选项,出错时返回错误信息由后边的代码自行处理。如果不用这个选项,数据库出错的时候会直接结束集算器程序。

A2:执行插入sql语句。注意,execute使用了@k选项,表示执行结束后并不提交事务。如果不使用的话,就直接提交这个插入语句了。

A3:取得上一条数据库操作,也就是插入语句执行的结果,如果是err变量是0的话就代表执行成功,否则就是错误代码。

A4:判断执行结果err变量是否为0,如果是0代表上一条插入语句已经成功,就执行B4中的修改操作。

C4:取得修改sql执行的结果。

A5:判断err变量,如果是0的话就提交数据库,否则就回滚。

A6:关闭数据库连接。

时间: 2024-10-10 05:42:46

集算器管理数据库事务的代码示例的相关文章

集算器调用数据库存储过程的代码示例

集算器可以方便的调用数据库的存储过程,这里通过例子来看一下具体的程序写法. 调用无返回值的存储过程 用oracle的存储过程为例,存储过程只有一个输入参数,没有输出参数: create orreplace procedure pro1 (pid IN VARCHAR) as begin insert into emp values(pid,'mike'); update emp set name='rose' where id=pid; commit; end; 在集算器中可以使用execute

集算器访问HTTP数据的代码示例

使用集算器(esProc)可以很方便的从http数据源读取数据进行处理. 本例子中有一个servlet,对外提供json格式的雇员信息查询.Servlet访问数据库的员工表,保存了员工的信息,如下: EID   NAME       SURNAME        GENDER  STATE        BIRTHDAY        HIREDATE         DEPT         SALARY 1       Rebecca   Moore      F       Califor

集算器读写EXCEL文件的代码示例

集算器可以方便地读写Excel文件,下面用一个例子进行说明:     描述:从data.xlsx读取订单数据和销售员列表,根据这两个sheet计算各部门的销售额,计算结果写入result.xlsx.     源Excel文件:data.xlsx有两个sheet,其中订单数据如下: 销售员列表如下:     集算器代码: A1-A2:从excel文件data.xlsx分别读取第1和第2个sheet,以序表的形式存储在A1.A2格,即订单数据和销售员列表. A3-A4:先将订单数据和销售员列表按照员

集算器对数据库的操作

集算器可以从数据库中读取数据,可以将数据写入数据库,也可以调用数据库的存储过程.基于这三种基本操作,集算器可以应用在多种数据库相关的场景任务: 1.  数据分析和展现任务,其过程是: 通过sql或者存储过程,从数据库读入数据. 从其他数据源(其他数据库.文件.hdfs.nosql数据库.http数据源.json数据源等)读入数据. 将异构数据统一进行处理 提供给应用程序或者报表展现. 2.  类似ETL的批处理任务. 过程和分析展现任务类似,所不同的是最后一步数据不是用来展现,而是写入其他数据库

集算器访问数据库的配置

集算器支持包括数据库在内的多种异构数据源.这里,我们通过例子来看一下集算器访问数据库的方法. 集算器可以连接数据库的jdbc驱动,也可以通过jdbc-odbc桥连接数据库.由于版权的原因,使用集算器的程序员需要自行准备数据库的jdbc或者odbc驱动.Jdbc驱动jar包准备好之后,需要放入集算器IDE安装目录的/common/jdbc中,例如:C:\Program Files (x86)\MicroInsight\common\jdbc目录中. 集算器集成开发环境的ODBC配置界面如下: 集算

用集算器实现跨数据库关联报表

实际应用中很多报表的数据来源于多个不同类型的数据库,报表数据源跨数据库是报表开发中的常态.目前实现这类跨库关联报表的方式有多种,但都会存在这样那样的问题. 使用报表工具自身多源关联功能 现在大多数主流报表工具都支持多数据源关联,这在某些方面确实为报表用户带来了便利.然而我们也经常会遇到通过报表自身的多源关联功能很难实现一些跨库关联的报表(由于数据结构和业务本身决定).这当然容易理解,报表工具主要是来做数据展现的,而对数据计算本身来说并不擅长. 即使有的能实现,在报表中做跨库关联计算的效率也较低,

集算器实现外键功能的代码示例

如果字段或字段组合k是表M的主键,而k也同时存在于表B,则k就是B的外键.外键维系着表之间的关联关系,是结构化数据计算最重要的概念之一.集算器可以通过对象引用方便地实现外键功能,下面用几个例子来说明:    例1 关联主子表1:    订单表(order)是子表,员工表(emp)是主表,请将emp关联到order中,显示emp中的Name.Gender.Salary字段以及order中的OrderID,Amount字段. 说明:本例只用到emp和order,之后的例子还要用到部门表(dep),三

集算器实现几种常见内存分组的代码示例

集算器可以很方便地实现常见的几种内存分组,比如等值分组.对位分组.枚举分组,下面用相应的例子来说明. 等值分组 等值分组的分组依据是本数据集的字段(或字段派生的计算列),每个组都是原数据集的子集. 例子描述:将销售订单按照订单年份进行分组. 数据描述:订单数据如下: 上述数据集(序表)可以从数据库或文件读入,比如: A1=file("E:/sales.txt")[email protected]() 集算器代码 A2=A1.group(year(OrderDate)) 计算结果 代码解

用集算器实现报表的外置存储过程数据源效果

业务逻辑相对复杂的报表开发中,开发人员往往会使用存储过程为报表准备数据.而使用存储过程往往受到编写困难.执行效率低下.数据库操作权限限制等问题,着实让开发人员不爽.如何改进或替代存储过程,成了很多程序员的心心声. 本文通过一个例子说明如何使用集算器实现报表存储过程数据源效果. 报表样式 某网络平台需要监测查看一定周期内的用户状况,需要为运营部门出具日报.周报.月报.年报等报表,每类报表中均包含本期与上期.上上期数据比较,故涉及数据量较大.这里以其日报为例(月报年报只是统计周期不同),报表格式如下