计算器执行 execute 语句报错,说第二个参数 sql 异常
业务是支取部分金额,原来的金额 - 参数金额 = 余额 AMT2,把 AMT2 更新进去数据库
1,>AMT2=C12.AMT_ORIGIN(查询出来的序表只有一条记录,AMT_ORIGIN 是其中的一个字段名字)-amt(报表传递的参数)
从图片中看出 AMT2 的值为 9000,应该执行 execute(sql2,DJtype,AMT2,…) 语句,sql2 是 update 语句,update t get DJtype=?,amt=?,… where ….,第二个参数是 AMT2,update 语句单独放到数据库可以执行成功,但是集算器一致报错说第二个参数 sql 异常,不明白为什么?
2. 如果将 execute(sql2,DJtype,AMT2,…) 中的第二个参数变成 amt,集算器可以执行成功,但是逻辑就不对了
图片没上传成功,请重新编辑下帖子内容,可能你那网速慢或图片过大?看到图片上传成功了再点提交。
已重新上传,麻烦老师了
从目前的信息判断,如果使用 amt 做参数正常,而用 AMT2 不行,那首先怀疑是参数值的类型问题造成的。amt 是整数 int,而执行过计算后结果类型为长整型 long,所以把 D15 中的代码改为 >AMT2=int(C12.AMT_ORIGIN-amt) 试试。
好的,我试试
是这个问题,已解决!感谢老师👍
🎉