private void sumAllCityHumanAndCity(){
ResultSet rs = null;
try {
String kingsql = "SELECT PlaceKing_id,PlaceKing_humanCount,PlaceKing_cityCount FROM zt_PlaceKing";
rs     = mysql.records(kingsql);

String sumHumanSqlFirst    = "select sum(CityProperty_human) as sumHuman from zt_CityProperty where city_id in (SELECT city_id FROM zt_City where king_id =";
String sumHumanSqlLast    = ")";
String sumCitySql    = "select count(*) as sumCity from zt_City where king_id =";


while(rs.next()){
ResultSet tempRs = mysql.records( sumHumanSqlFirst+rs.getInt("PlaceKing_id")+sumHumanSqlLast);
System.out.println(tempRs.getInt("sumHuman"));
int sumHumanCount = (Integer)mysql.records( sumHumanSqlFirst+rs.getInt("PlaceKing_id")+sumHumanSqlLast).getInt("sumHuman");
int sumCity    = mysql.records( sumCitySql+rs.getInt("PlaceKing_id")).getInt("sumCity");
rs.updateInt("PlaceKing_humanCount", sumHumanCount);
rs.updateInt("PlaceKing_cityCount", sumCity);
rs.updateRow();
}


} catch (SQLException e) {
e.printStackTrace();
}
}System.out.println(tempRs.getInt("sumHuman"));
这里为什么getInt 得不到呢?报这样的错误,那位高手可以帮忙看看啦!很急~~~~~
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:817)
at com.mysql.jdbc.UpdatableResultSet.checkRowPos(UpdatableResultSet.java:230)
at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2578)
at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2719)
at com.hztusheng.zt.daemon.impl.PlaceSorts.sumAllCityHumanAndCity(PlaceSorts.java:405)
at com.hztusheng.zt.daemon.impl.PlaceSorts.place_king(PlaceSorts.java:142)
at com.hztusheng.zt.daemon.impl.PlaceSorts.place_allTable(PlaceSorts.java:119)
at com.hztusheng.zt.daemon.impl.PlaceSorts.run(PlaceSorts.java:111)
at com.hztusheng.zt.daemon.DaemonRun.run(DaemonRun.java:41)

解决方案 »

  1.   

    at com.hztusheng.zt.daemon.impl.PlaceSorts.sumAllCityHumanAndCity(PlaceSorts.java:405) 你这里做了什么?
      

  2.   

    你有没有调试过啊,
    String kingsql = "SELECT PlaceKing_id,PlaceKing_humanCount,PlaceKing_cityCount FROM zt_PlaceKing"; 
    rs   = mysql.records(kingsql); 
    先看这里的rs内容,
    把rs.getInt("PlaceKing_id") 打印出来,看看对不对,
    再把sumHumanSqlFirst+rs.getInt("PlaceKing_id")+sumHumanSqlLast 打印出来,并用这个打印出的语句直接操作数据库,看看能不能得到结果,然后再去看程序中有没有错误
    看你贴的代码,一个打印都没有.......
      

  3.   

    rs.getInt("PlaceKing_id")   就是这一部,得不到的!
    到这一步就直接跳过去了!
      

  4.   

    就是执行到哪一步,直接跳过,那说明rs.getInt("PlaceKing_id") 就没得到任何东西!报错
      

  5.   


    at com.hztusheng.zt.daemon.impl.PlaceSorts.sumAllCityHumanAndCity(PlaceSorts.java:405) 
    错误信息不是告诉你哪行出了错,还有,你试着把sumHumanSqlFirst+rs.getInt("PlaceKing_id")+sumHumanSqlLast 打印出来,
    用打印出的结果,看看在数据库里,能不能进行正确的查询