日期:2014-05-17  浏览次数:20836 次

哎呀!哎呀 怎么回事啊 到底哪错了??
我的 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()); 这个试试看