起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19463|回复: 17

[分享] 【管理员请加精】在UI层怎么把存储过程action、sql语句action...

  [复制链接]

1014

主题

4372

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10982
QQ
发表于 2012-11-15 12:14:01 | 显示全部楼层 |阅读模式
本帖最后由 ecoolper 于 2012-11-15 13:10 编辑

【管理员请加精】在UI层怎么把存储过程action、sql更新语句action、标准action放到同一个事务中

这里有3点需要注意
1、action的java代码的Connection 连接必须用 ModelUtils.getConnectionInTransaction 得到,
2、bizDate组件的saveData( callback, useTrans, ignoreInvalid)
   注意第二个参数,  
    useTrans
    {boolean} 使用事务,批提交,默认true,
   默认是ture是一般不需要我们关心,但最好知道
3、签订UI层调用必须包裹在
    justep.Request.beginBatch()
      //这里是调用action、bizData保存的具体代码
    justep.Request.endBatch
具体代码如下:
1【存储过程action代码】:
        public static void proc_Report(String fCompanyCode,String fDate) throws Exception {
                Connection conn = ModelUtils.getConnectionInTransaction("datamodel");
                CallableStatement proc =null;
               
                proc = conn.prepareCall("{ call proc_Report_Q(?,?,?) }");
               
                //赋值参数
                proc.setString(1, fCompanyCode); //日期
                proc.setString(2, fDate); //空值不处理
                String message ="";
                proc.setString(3, message); //空值不处理
                proc.execute();
        }
2【sql更新语句action】
        public static void updateSQL(String fCompanyCode,String fDate) throws Exception {
                写法1:直接用KSQL、SQL类的方法,
                  KSQL.executeUpdate(String ksql, Map varMap, String dataModel, com.justep.model.Model fnModel) ;//KSQL更新数据库
                  SQL.executeUpdate(String ksql, Map varMap, String dataModel, com.justep.model.Model fnModel) ///SQL类更新数据库
                  写法2:用标准的jdbc方式
                  Connection conn = ModelUtils.getConnectionInTransaction("datamodel");
                Statement st = conn.createStatement();
                             boolean result = st.execute(" 这是是具体的sql语句 ");
        }
2【UI层代码】
      justep.Request.beginBatch();//批操作开始,可以无限嵌套
       //调用存储过程proc_ReportAction。。。
     var options = {};
        var param = new justep.Request.ActionParam();
        param.setString('fCompanyCode', Definition.getValue("fCompanyCode"));
        param.setString('fDate', Definition.getValue("fDate"));
        options.parameters = param;
        options.action = "proc_ReportAction";
       var result = justep.Request.sendBizRequest2(options);
      //调用sql语句更新数据库的action,updateSQLAction。。。
     var options = {};
        var param = new justep.Request.ActionParam();
        param.setString('fCompanyCode', Definition.getValue("fCompanyCode"));
        options.parameters = param;
        options.action = "proc_updateSQLAction";
       var result = justep.Request.sendBizRequest2(options);
        //这里是调用action、bizData保存的具体代码
     justep.xbl("dataMain").saveData();
    justep.Request.endBatch//批操作结束

  
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案

251

主题

1027

帖子

1383

积分

金牌会员

Rank: 6Rank: 6

积分
1383
QQ
发表于 2012-11-15 12:32:02 | 显示全部楼层
帮顶!!!!!
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2012-11-15 13:09:14 | 显示全部楼层
,不错顶一下
回复 支持 反对

使用道具 举报

6

主题

185

帖子

2825

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2825
发表于 2012-11-15 19:46:51 | 显示全部楼层
回复 支持 反对

使用道具 举报

100

主题

467

帖子

491

积分

中级会员

Rank: 3Rank: 3

积分
491
QQ
发表于 2012-11-16 08:18:09 | 显示全部楼层
顶!
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2012-11-16 08:33:58 | 显示全部楼层
不错,顶
QQ:179785966
回复 支持 反对

使用道具 举报

226

主题

1000

帖子

1931

积分

金牌会员

Rank: 6Rank: 6

积分
1931
QQ
发表于 2012-11-17 09:51:36 | 显示全部楼层
很好呀。
回复 支持 反对

使用道具 举报

197

主题

824

帖子

1889

积分

金牌会员

Rank: 6Rank: 6

积分
1889
QQ
发表于 2012-11-17 10:04:56 | 显示全部楼层
此贴必火
QQ:574178224
回复 支持 反对

使用道具 举报

40

主题

196

帖子

514

积分

高级会员

Rank: 4

积分
514
QQ
发表于 2012-11-18 17:40:00 | 显示全部楼层
不错哦,值得学习。收藏了。
我怀念的是什么也不说!
回复 支持 反对

使用道具 举报

185

主题

777

帖子

1644

积分

金牌会员

Rank: 6Rank: 6

积分
1644
QQ
发表于 2014-9-24 15:51:29 | 显示全部楼层
火后留名
天天就知道打酱油打酱油,有点出息行么。QQ:497923435
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 20:35 , Processed in 0.057215 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表