本帖最后由 shary 于 2012-5-22 17:33 编辑
代码如下:
var a = getItemValueAsString ("项目名称");
var b= getItemValueAsDouble("金额");
var sql ="select *, domainid from tlk_映射试验表单一 where item_字段一 = '" +a+"'";
var datas = queryByDSName("baicangshiyan",sql);
var last=0.0;
//if(datas != null)
{
for(var iter = datas.iterator( );iter.hasNext( );)
{
var doc = iter.next( );
var dwmc = doc.get("id");
var dwbm = doc.get("item_已分解金额");
last = dwbm + b;
println("页面提交过来的数据:>>>"+b)
println("数据库拿出来的数据:"+dwbm);
println("b和dwbm相加得出的结果:"+last);
var sql1 = "update tlk_映射试验表单一 set item_已分解金额 ="+last+" where item_字段一 = '" +a+"'";
updateByDSName("baicangshiyan",sql1);
}
}
运行结果为:
JsUtil:页面提交过来的数据:>>>6
JsUtil:数据库拿出来的数据:1.00000
JsUtil:b和dwbm相加得出的结果:1.000006
并且回到表单映射试验表单一中,他的字段 “已分解金额”显示的值为:1.0000100
将第二句改为var b= getItemValue("金额");结果还是如上,请教啊,
个人怀疑是var dwbm = doc.get("item_已分解金额");这句得到的结果的类型有问题,请教啊, |