没弄过count返回值请大家帮忙!ssh框架
大概意识是这样的 传一个参数获取count值  可是不知道应该怎么获取 以前都是返回的list 返回long不会弄了
下面代码有很多错误 获取不到执行过sql的返回值!!!
public Long getcount(String id) throws Exception {
String sql="select count(*) from EXAM_ROOM where  EXAM_ROOM.STUDENTID='"+id+"'";    List list = this.exeQuery(sql,new EXAM_ROOMFORM());
   System.out.println(list);
return (Long) list.get(0);


解决方案 »

  1.   

    实在不行就不要select count(*),直接select *之后判断list.size()
      

  2.   

    我需要获得count的这个返回值  好去判断
      

  3.   

    String sql="select count(*) from EXAM_ROOM where  EXAM_ROOM.STUDENTID='"+id+"'";     红色部分是你数据库中标的列??
      

  4.   

    对对!!!但是这个sql是没有错的  我在数据库是可以查出来值的  
    就是java这部分 不知道怎么获取
      

  5.   

    你为什么不用parparedstatement!!
      

  6.   

    public Long getcount(String id) throws Exception {
            String sql="select * from EXAM_ROOM where  EXAM_ROOM.STUDENTID='"+id+"'";              List list = this.exeQuery(sql,new EXAM_ROOMFORM());
               System.out.println(list);
                return (Long) list.size();
                
            
        }这样呢?如果同样没有结果,那么说明你的hql语句有问题
      

  7.   

    ?你的错误和这个有关系吗?
    System.out.println(list);
    这句话打印结果是什么样的?
      

  8.   


    public PreparedStatementCreator count(final EXAM_ROOM EXAM_STU)throws Exception{
    PreparedStatementCreator prc =null;
    prc=new PreparedStatementCreator() {
    public PreparedStatement createPreparedStatement(Connection cn)
    throws SQLException {
    PreparedStatement ps = null;
    final String sql="select count(*) from EXAM_ROOM where  STUDENTID=?";
    ps=cn.prepareStatement(sql);
    ps.setLong(1,EXAM_STU.getEXAMROOM_ID());
    return ps;
    }
    };
    return prc;
    }
    这么写还是不对啊!!java.lang.NullPointerException
      

  9.   

    实在不行就不要select count(*),直接select *之后判断list.size()
      

  10.   

    ps.executeQuery(sql)
      

  11.   

    ps.setLong(1,EXAM_STU.getEXAMROOM_ID());  这个地方异常java.lang.NullPointerException
    com.ddl.ec.model.EXAM_ROOM$5.createPreparedStatement(EXAM_ROOM.java:134)
      

  12.   


    异常org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL []; SQL state [63000]; error code [3115]; ORA-03115: 不支持的网络数据类型或表示法
    ; nested exception is java.sql.SQLException: ORA-03115: 不支持的网络数据类型或表示法
      

  13.   

    那你检查一下是不是真传了一个null过去啊……
      

  14.   

    public PreparedStatementCreator count(final EXAM_ROOM EXAM_STU)throws Exception{
    PreparedStatementCreator prc =null;
    prc=new PreparedStatementCreator() {
    public PreparedStatement createPreparedStatement(Connection cn)
    throws SQLException {
    PreparedStatement ps = null;
    final String sql="select count(*) from EXAM_ROOM where  STUDENTID=?";
    ps=cn.prepareStatement(sql);
    ps.setLong(1,EXAM_STU.getSTUDENTID());
    return ps;
    }
    };
    return prc;
    }红色部分是我改了以后有值   但是值不对啊  他返回一个36了  但是单独执行sql返回的是1啊