[ABI 5.1] 通过Java语句调用SQL疑问?

11026
10

bitaotao 数据达人Lv4

发表于2020-6-29 10:22

悬赏1

未解决

楼主
   在亿信官网中,亿信BI帮助文档里面,这篇文章:http://help.esensoft.com/doc-view-39.html 里面,这条Java语句:String p_tsfl = params.getValue("@cs");


其中params对象,在那里创建?怎么创建?

最近看过此主题的会员

yangqh

xxxl

小亿

Tom2

马端

郑文华

后会无期

1505121235

wut

王磊

呢喃

10个回答

只看楼主

wut 数据老手Lv5

发表于2020-6-29 11:42

只看该作者

取消 关注该作者的回复

沙发

本帖最后由 wut 于 2020-6-29 11:47 编辑

按照文档中的方法,会有报错吗?

bitaotao 数据达人Lv4

发表于2020-6-29 11:45

只看该作者

取消 关注该作者的回复

板凳

wut 发表于 2020-6-29 11:42
安装文档中的方法,会有报错吗?

工作流中。我已经将部分代码写好了,测试也通过了。就是想通过Java代码获取工作流中定义得参数。
部分代码:
import com.esen.emainframe.server.EsenServer;
import com.esen.jdbc.ConnectFactoryManager;
import com.esen.jdbc.ConnectionFactory;
import com.esen.jdbc.SqlExecuter;

import java.sql.SQLException;

// 1.创建链接工厂管理对象
ConnectFactoryManager connFactoryManager = EsenServer.getConnFactoryManager();
// 2.创建链接对象
ConnectionFactory connFactory = connFactoryManager.getConnectionFactory("operate_digitization",true);
// 3.编写SQL
// String sql = "UPDATE first_level_index SET approval_status = '"+ currentSP + "' WHERE year = '"+year+"'";
String sql = "UPDATE first_level_index SET approval_status = 1 ";
try {
        // 4.创建SQL执行器对象
        SqlExecuter sqlExecuter = SqlExecuter.getInstance(connFactory);
        // 5.执行SQL
        sqlExecuter.executeSql(sql);
} catch (SQLException e) {
        e.printStackTrace();
}

1505121235 数据老手Lv5

发表于2020-6-29 11:46

只看该作者

取消 关注该作者的回复

地板

这个应该是BI后台代码固定写法,只需要替换sql和参数名称即可

bitaotao 数据达人Lv4

发表于2020-6-29 11:47

只看该作者

取消 关注该作者的回复

5#

wut 发表于 2020-6-29 11:42
安装文档中的方法,会有报错吗?

有报错。
文档中的代码就不符合Java编码规范。params对象都没定义,怎么去使用。

bitaotao 数据达人Lv4

发表于2020-6-29 11:50

只看该作者

取消 关注该作者的回复

6#

bitaotao 发表于 2020-6-29 11:47
有报错。
文档中的代码就不符合Java编码规范。params对象都没定义,怎么去使用。 ...

按照文档的写法,我试了试。通过params.getValue("参数名")获取不到值,是空的。是我的书写方式有误吗?

bitaotao 数据达人Lv4

发表于2020-6-29 11:51

只看该作者

取消 关注该作者的回复

7#

bitaotao 发表于 2020-6-29 11:50
按照文档的写法,我试了试。通过params.getValue("参数名")获取不到值,是空的。是我的书写方式有误吗? ...

按照文档,我是这么写的。但是总觉得params对象没有定义,怎么能直接使用,不符合Java编码规范么
String year = params.getValue("@year");
String currentSP = params.getValue("@CURRENT_SP");

1505121235 数据老手Lv5

发表于2020-6-29 14:09

只看该作者

取消 关注该作者的回复

8#

你的需求是什么?在工作流中写java代码是想实现什么功能?

bitaotao 数据达人Lv4

发表于2020-6-29 14:10

只看该作者

取消 关注该作者的回复

9#

1505121235 发表于 2020-6-29 14:09
你的需求是什么?在工作流中写java代码是想实现什么功能?

根据审核员的审批状态状态去更新表里的字段。当审核员审批通过,将状态改为1 ,审核退回,改为2

bitaotao 数据达人Lv4

发表于2020-6-29 14:11

只看该作者

取消 关注该作者的回复

10#

wut 发表于 2020-6-29 11:42
按照文档中的方法,会有报错吗?

我在abi服务器上看了看日志,错误日志如下:

bitaotao 数据达人Lv4

发表于2020-6-29 15:54

只看该作者

取消 关注该作者的回复

11#

1505121235 发表于 2020-6-29 14:09
你的需求是什么?在工作流中写java代码是想实现什么功能?

@小亿 帖子又要沉下去吗

登录后可回答问题,请登录注册

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号