NutzCN Logo
问答 自定义sql SqlCallback获取null
发布于 2478天前 作者 qq_412bd180 2720 次浏览 复制 上一个帖子 下一个帖子
标签:

sql结果:
data_type datatypename
G 大气成分
J 雷达
M 产品
E 农气
A 地面
B 高空

代码

@At
	@Ok("json")
	/*
	 * select distinct fault.data_type,
	 * stationtype.datatypename from t_fault_total fault 
	 * inner join t_stationtype stationtype on 
	 * fault.data_type=stationtype.datatype;
	 */
	public List<String> getFaultBigTypes() {
		String sqlStr="select distinct fault.data_type,"+
				"stationtype.datatypename from t_fault_total fault "+ 
				"inner join t_stationtype stationtype on "+ 
				"fault.data_type=stationtype.datatype";
		
		Sql sql = Sqls.create(sqlStr);
		
		sql.setCallback(new SqlCallback() {
	        public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
	            List<String> list = new LinkedList<String>();
	            while (rs.next())
	                list.add(rs.getString("data_type"));
	            	list.add(rs.getString("datatypename"));
	            return list;
	        }
	    });
		
		return sql.getList(String.class);
	}

返回null

7 回复
dao.execute(sql);

另外, 你应该是少写了个大括号

2017-08-04 16:17:35 [http-nio-8080-exec-46] DEBUG org.nutz.dao.impl.sql.run.NutDaoExecutor - select distinct fault.data_type,stationtype.datatypename from t_fault_total fault inner join t_stationtype stationtype on fault.data_type=stationtype.datatype
2017-08-04 16:17:35 [http-nio-8080-exec-46] DEBUG org.nutz.dao.impl.sql.run.NutDaoExecutor - SQLException
org.postgresql.util.PSQLException: 查询结果指标位置不正确,您也许需要呼叫 ResultSet 的 next() 方法。

list.add(rs.getString("data_type"));
list.add(rs.getString("datatypename"));

去掉其中一条都可以去到值
如何把两个字段组合成一个?

可以了 结果 ["G", "大气成分", "J", "雷达", "M", "产品", "E", "农气", "A", "地面", "B", "高空"]
但是页面循环设值怎么写呢?

你需要的应该是

Sql sql = Sqls.queryRecord(sqlStr);
dao.execute(sql);
return sql.getList(Record.class);

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