我的 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语句没错。
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语句没错。
k = Integer.parseInt(objHs.get("别名").toString());
k = Integer.parseInt(objHs.get("别名").toString()); 这个试试看
晕 select count(0) 查出来的根本就是无列名,需要给一个别名