哎呀!哎呀 怎么回事啊 到底哪错了??
我的 sql语句是:
select count(0) from table1 t1,table2 t2
where t1.bgsbh is not null and t1.sydwxzq='411201'
and t1.azxs='整装' and t1.bgsxh=t2.bgsxh
and t2.jjrq>=convert(datetime,'2012-01-01',120)
下面是我调用的方法:
public int getCount(String sql) {
int k = 0;
Connection con = DBConnection.getInstance().getConn();
QueryRunner qr = new QueryRunner();
List list = (List) DBConnection.getInstance().query(con, sql, null,
new MapListHandler());
DBConnection.getInstance().closeConn(con);
HashMap objHs = (HashMap) list.get(0);
k = Integer.parseInt(objHs.get("count(0)").toString());
return k;
}
但是问题出现了:我用debug模式走的时候得到的list值是:[{=362}],所以在
k = Integer.parseInt(objHs.get("count(0)").toString());
回报
空指针异常????这个我就搞不明白为什么了,直接用查询分析器查能得到值。
sql语句也没错,,说明sql语句没错。
------解决方案--------------------
select count(0) as 别名 ....
k = Integer.parseInt(objHs.get("别名").toString());
------解决方案--------------------你先测试一下直接使用objHs.get("count(0)")能否拿到值,一定要确定你的list里面是有值的
------解决方案--------------------select count(0) as 别名 ....
k = Integer.parseInt(objHs.get("别名").toString()); 这个试试看