关于ec:table 初始化数据之间的运算问题,fins进!

karisen 2007-05-19

初始化table数据的时候 有一个记录,有4个字段: 开始库存,进货数量,销售数量,最后库存

开始库存 是数据库中所取,进货数量及其销售数量(初始值为“0”) 是 可编辑的;

而最后库存是 自动生成 即公式: 最后库存= 开始库存+进货数量- 销售数量.

updateAction="${pageContext.request.contextPath}/common/ajaxtemplate/updateResult.jsp?easyDataAccess=myEasyDA.inertSales"


insert into test(stockbegin,received,delivery,stock_end) values
(#{stockBegin},#{received},#{delivery},
char(int('0')+#{stockBegin}-#{delivery}+#{received})



出现的问题: 编辑table的每条记录的时候,插入"stock_end" 字段出现错误,即不可进行四则运算!!

问题是 编辑table每一行的时候,那些编辑字段如果没有更改过 ,则不能将编辑字段的值在SQL语句中进行四则运算。如果字段有手动更改过,可将编辑过的字段 在SQL语句中进行四则运算。

如上,“开始库存” 是数据库中所取,即不用经过编辑, 所以“开始库存” 在做四则运算的时候,SQL出错!
fins 2007-05-19
核心问题是 不支持 + - * / 号吧 我再看看 谢谢提供信息

karisen 2007-05-19
谢谢,我这样做的,当我把 stock_end 字段 这样设置
insert into test(stockbegin,received,delivery,stock_end) values
(#{stockBegin},#{received},#{delivery},
char(#{delivery}+#{received}) 是成功的, 前提是,我对
received和delivery 有过编辑动作;才能进行四则运算!插入数据成功!

但是 在该语句中如果 delivery或者 received任何一个没有编辑动作,
使用这个加法 是错误的,不能插入到数据库中!

fins 2007-05-19
哦 我理解错误了

问题确实是存在的

原因在于 你没有编辑的项不会被提交 所以 #{aaa}就不会被转换
最后SQL就会 +#{aaa} 而不会是 #{aaa}对应的数值了

这个问题我得好好想想怎么办
Global site tag (gtag.js) - Google Analytics