不可能因为有了output参数,就返回select * from tmp_t_cs_infos_his的Result集了吧,难道就只返回“Output参数了”

解决方案 »

  1.   

    直接用call.getInt(6);就可以取到totalresult的值了。
      

  2.   

    我试下是可以的,以下是我的代码:
    try
      {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn = 
    DriverManager.getConnection(
    "jdbc:microsoft:sqlserver://localhost:1433","sa","sa");
    CallableStatement toesUp = null;
     toesUp= conn.prepareCall("{call pagination(?,?,?,?,?,?) }");
     toesUp.setString(1,"1");
     toesUp.setString(2,"1");
     toesUp.setString(3,"1");
     toesUp.setString(4,"1");
     toesUp.setString(5,"1");
     toesUp.registerOutParameter(6,java.sql.Types.VARCHAR);
      
       toesUp.execute();
       ResultSet rs = (ResultSet) toesUp.getResultSet();
       while (rs.next()) {
       System.out.print("1");
       }
       String strTotalresult=toesUp.getString(6);
       
       
       } catch (Exception e) {
        e.printStackTrace();
       }存储过程里是:
    create       procedure pagination 
      @perpagenumber varchar(10)='20',
      @pagenumber    varchar(10)='1',         
      @tablename     varchar(20)='tmp_t_cs_infos_his',      
      @orderby  varchar(200)='order by cust_code,backupdate',
      @sqlcondition  varchar(200)='',
      @totalresult  varchar(200) output
    as  
    beginselect * from d_1
    select @totalresult=count(*) from d_1
    endGO
      

  3.   

    如果你要取一个结果集,可以:
    toesUp.registerOutParameter(6,java.sql.Types.OTHER);
    取出来以后在转成ResultSet
      

  4.   

    freelarry你好 我要取一个Result一个是output参数
    是不是在java中用两个registerOutParameter参数啊?一个是output参数 一个是Result?