NutzCN Logo
问答 执行自己的sql语句的返回值异常
发布于 2308天前 作者 qq_6c7a07b7 1451 次浏览 复制 上一个帖子 下一个帖子
标签:
@At("/tree/search")
	public List treeSearch(String jyzh,String jyrq,String jysj,String jyhm) {
		StringBuilder sqls = new StringBuilder("select concat(dfhm,'-账号:',dfzh) name,concat('交易金额:',jyje,'&交易日期:',jyrq,jysj,'&借贷标志:',jyjdbz) value");
		StringBuilder cnd = new StringBuilder(" from " + "test" + " where jyzh = @jyzh and jyrq >= @jyrq and jysj >= @jysj order by jyrq,jysj");
		Sql sqlss = Sqls.create(sqls.append(cnd).toString());
		sqlss.setParam("jyzh", jyzh);
		sqlss.setParam("jyrq", jyrq);
		sqlss.setParam("jysj", jysj);
		sqlss.setCallback(Sqls.callback.records());
		dao().execute(sqlss);
		List<Record> treeList = sqlss.getList(Record.class);
		List<Map<String,Object>> mapList=new ArrayList<Map<String,Object>>();
		Map<String,Object> map=new HashMap<String,Object>();
		if(treeList!=null && treeList.size()>0){
			map.put("name",jyhm+"-账号:"+jyzh);
			map.put("value","&");
			map.put("children",treeList);
			mapList.add(map);
		}else{
			map.put("name",jyhm+"-账号:"+jyzh);
			map.put("value","&");
			map.put("children",treeList);
			mapList.add(map);
		}
		
		return mapList;
	}
	得到的treeList的结果集为何是这样的呢,将sql语句中的 jyje换成varchar类型就正常,现在是decimal的类型就是这样的

"name": "中证登结有限责任公司上海分公司(备付金)账号:6230582000026676075",
"value": [-28, -70, -92, -26, -104, -109, -23, -121, -111, -23, -94, -99, 58, 57, 49, 48, 53, 52, 46, 48, 55, 38, -28, -70, -92, -26, -104, -109, -26, -105, -91, -26, -100, -97, 58, 50, 48, 49, 56, 48, 50, 50, 53, 49, 50, 49, 57, 51, 49, 38, -27, -128, -97, -24, -76, -73, -26, -96, -121, -27, -65, -105, 58, -27, -128, -97]
}]

6 回复

得到的treeList的集合中的value值是一个这样的值 [-28, -70, -92, -26, -104, -109, -23, -121, -111, -23, -94, -99, 58, 57, 49, 48, 53, 52, 46, 48, 55, 38, -28, -70, -92, -26, -104, -109, -26, -105, -91, -26, -100, -97, 58, 50, 48, 49, 56, 48, 50, 50, 53, 49, 50, 49, 57, 51, 49, 38, -27, -128, -97, -24, -76, -73, -26, -96, -121, -27, -65, -105, 58, -27, -128, -97]并不是我想用concat所拼接的值,到在数据库运行获得值是正常的

那你想得到啥

自定义个回调来取吧

正确的值应该是这样的“交易金额:50000.00&交易日期:20180313130823&借贷标志:贷”,而它现在是一个数字数组,这是转译了吗?
如果将数据库中的 jyje 的这个字段的类型换成varchar类型,得到的就是这种 ”交易金额:50000.00&交易日期:20180313130823&借贷标志:贷” 的数据

自定义回调试一下, 用rs.getString来取

添加回复
请先登陆
回到顶部