mysql一个存储过程北调用,返回的结果是空,
然后在JAVA里面RESULTSET接受,现要判断它是空,JAVA代码如何写?现在测出:rs.next()不行,rs==null不行。

解决方案 »

  1.   

    OR
    直接用if(temp==null)即可!
      

  2.   

    try{  
          if(rs.next()){                     //----------->这样来判断结果集是否为空  
              //说明结果集不为空  
              //在进行循环之前要这样  
              rs.beforeFirse();         //--->注意,这个地方可能产生错误,需要让连接可回退  
              while(  
          }else{  
              //结果集为空!  
              throw   new   EmptyResultSetException("Result   set   is   empty");  
          }  
      }catch(SQLException   ex){  
          ex.printStackTrace();  
      }   
      

  3.   

    在执行红色的代码的时候,会出错。
    如果是直接执行的SQL语句,不会出错,
    但若是通过rs=call proc_name(var);的方式的话,如果结果是空,那么红色代码会出错啊。
      

  4.   

    OR
    if   (!rs.next())判断ts是否为空
      

  5.   

    你的procedure是什么? 如果什么都没返回,甚至连个空集都没返回。 
    只能用 rs==null 或者 SQLException 来控制了。
      

  6.   

    mysql 的存储过程在JAVA中的调用的科学写法是什么?
    如何用代码遍历存储过程返回的结果集组成的结果包里的所有结果集?
    Connection con = new Connection();//假设已经建立连接了,
    CallableStatement cstm = con.CreateCallable();
    boolean bl = cstm.execute();//请问这个方法返回的是什么?
    是不是存储过程被调用后的返回结果包里面是否有结果集呢?
      

  7.   

    科学的调用方式是用callableStatement cstm = con.CreateCallable(SQL);
                   boolean bl = cstm.execute();
                    while(bl){
                       rs = cstm.getResultSet();
                       //处理rs
                       bl = cstm.getMoreResultSet();
                    }