集算器在帆软中的应用

我是社区第438780位番薯,欢迎点我头像关注我哦~
集算器在帆软中的应用
对于跨库数据聚合,设置过滤条件只能实现简单的逻辑,复杂逻辑需要使用程序数据集,这需要有java编程技能,而且要死一堆脑细胞。
在另辟途径的过程中发现集算器的功能非常强大,而且很方便嵌入到帆软,具体可参考https://blog.csdn.net/cainiao_M/article/details/78769430
上述文章提到可以在数据库查询中调用dfx文件,而dfx文件的编辑需要esproc.exe软件,其实可以直接在数据库查询中写入语句,具体参见教程.chm中6.2.4直接执行语句
教程中提到的“\n”可以直接使用回车键,而“\t”用tab键
下面就是调用FRDemo一个例子:
--查询数据集中编辑--
=FRDemo
=connect(A1)
=A2.query("select * from Air_Accidents")
>A2.close()
--------------
FRDemo需要在raqsoftConfig.xml中进行设置
<DB name="FRDemo">
        <property name="url" value="jdbc:sqlite://D:/FineReport_8.0/WebReport/FRDemo.db"/>
        <property name="driver" value="org.sqlite.JDBC"/>
        <property name="type" value="0"/>
        <property name="user" value=""/>
        <property name="password" value=""/>
        <property name="batchSize" value="0"/>
        <property name="autoConnect" value="false"/>
        <property name="useSchema" value="false"/>
        <property name="addTilde" value="false"/>
        <property name="needTransContent" value="false"/>
        <property name="needTransSentence" value="false"/>
        <property name="caseSentence" value="false"/>
</DB>
对于复杂的sql,可以通过外部文件来实现
--查询数据集中编辑--
=FRDemo        =file("r:/test.sql")
=connect(A1)
=A2.query(B1.read())
>A2.close()
---
为了便于sql调试,我编了一个函数TABLESQL,可以获取查询数据集中的sql文本,这样sql文本放入查询数据集中如"ds2",方便调试而且还可以使用参数,非常方便。


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

本版积分规则

0回帖数 1关注人数 3418浏览人数
最后回复于:2021-5-22 09:45

返回顶部 返回列表