count(*) 肯定会返回一个值的,最小也是0, 不能用Null来判断。

解决方案 »

  1.   

    按您的意思是if(rs!= null && rs.next()) {
    rsCount = rs.getInt("cityCount ");
    }这句话出问题了,如果是改成这样
    String sqler = "select count(*) as  administrantCount from city where name='"+ cityname + "'";
    rs = preparedStatement.executeQuery();
    System.out.println(sqler+" 市用户有:"+rs.getRow());
    if (rs.getRow()!=0 && rs.next()) {
    rsCount=rs.getInt("administrantCount");
    }
    运行后:
    select count(*) as  administrantCount from city where name='沈阳' 市用户有:0
    但是在数据库里城市这个表里含有沈阳市的行数至少不是0啊,有好几行呀~~~哪里错了呢
      

  2.   

    什么问题?没有结果?难道你的cityname是Char类型的?需要用Trim(Name)='''+cityname+'''
    ?
    你的SQL看不出什么问题,你干脆把你的sqler变量输出到文本文件,然后放到MySql里面运行看看结果。
      

  3.   

    问题解决了,上面的sql确实是没有问题~~~~