其他数据库用法也大同小异,理论上把select代码放到数据库工具例如Navicat或plsql上,变量直接用值代替,可以查出来就说明语句是对的.
1.直接获取数据库内容
doFieldSQL(" select workcode from hrmresource where id = '$main.xm$'")--例子_获取员工号
__________________
$main.xm$是姓名(人力资源字段)
2.把表单其他字段进行计算、条件取值、拼接字符串
计算(插入SQL操作 / 字段赋值设置也可):
插入SQL操作:doFieldSQL(" select nvl('$main.bxjey$',0) - nvl('$main.bchkje$',0) from dual ")
--字段1,$报销金额元-$main.bchkje$ 字段2,本次还款金额元-$main.dkgsje$
注意:nvl作用是,如果字段1或字段2至少一个没填值,可以解决这个字段不显示的问题
字段赋值设置:doFieldMath(" $main.bxje$ * $main.hl$ ")
--报销金额 $main.bxje$ ,汇率$main.hl$
条件取值:
doFieldSQL(" SELECT CASE
WHEN '字段' = '0' and '字段2' = 'a' THEN '1'
WHEN '1' = '1' THEN (select lastname from hrmresource where lastname like '%李光瑀%')
WHEN '1' = '2' THEN '女'
ELSE '其他' END FROM DUAL")
拼接:
doFieldSQL(" SELECT '$main.hymctx$' ||'-'|| '$main.bmid$' || '-' || '$main.lxrdh$' FROM DUAL ")
--会议名称,部门_联系电话