如何管理返回整数“select count(*) from table
”的查询结果?
1)我试图将SQL Execute Statement
服务的输出绑定到整数变量并且不起作用。 (输入错误匹配)
2)我也试过使用类似'SQLResult', SQLResultRow, SQLResultColumn
的类型,但它们不起作用:
引起:com.lombardisoftware.core.TeamWorksException:输入ismatch值“[Element:]”必须是找到的类型为IBM BPM Java Class的实例:org.jdom.Element
3)我试图将输出绑定到XMLElement变量,我已经得到了这个值
< resultSet recordCount = \“1 \”columnCount = \“1 \”> 5< / columnn>< /记录>< /&的resultSet GT;
所以现在......如何访问此节点的recordCount属性?
无论如何,我不喜欢操纵XMLType的变量,何时使用类型SQLResult, SQLResultRow, SQLResultColumn
?
******编辑*******
即使我得到XMLElement的结果..我无法操纵它。
像<{1}}这样的方法不起作用(智能感知) XMLElement 作为属性“recordCount”,但我不知道如何获得他的价值..无论如何,我找到的唯一解决方法是更改查询以返回正常的记录集(不是标量值)
tw.local.result[0].rows[0].column[0].getText()
代替select field from table
所以我可以将输出值映射到一个对象列表,然后计算它的select count(field) from table
...
任何人都知道如何操作脚本块中的XMLElement?
答案 0 :(得分:1)
请尝试这个。
将sql execute语句的输出变量绑定为'ANY'类型。
变量名-结果(任意)
查询-从表中选择count(字段)作为COUNTVAL
tw.local.totalCount = tw.local.result [0] .rows [0] .indexedMap.COUNTVAL;
答案 1 :(得分:0)
使用返回类型作为XMLElement ,然后在输出映射中绑定XMLElement。
例如:如果您使用 tw.local.output 作为输出映射(XMLElement类型),则
log.info("Count "+tw.local.output.xpath('/resultSet/record/column').item(0).getText());
这将打印计数 如果要获取“ recordCount” 属性,请使用
tw.local.output.getAttribute("recordCount");