程序如下,请大家帮着看看
try
      {
 InitialContext ctx=new InitialContext();
 ds=(DataSource)ctx.lookup("java:comp/env/GprsDataSource");
 conn = ds.getConnection();
 // 存储过程 create_chart_wap_netgate_error
 //    @work_id int,@gprs_class_id int,@city_name varchar(10),@ynall bit=1,
         //    @return_str varchar(500)='' output
 stmt = conn.prepareCall("{call create_chart_wap_netgate_error(?,?,?,?,?)}"); 
 stmt.setInt(1,work_id);
      stmt.setInt(2,gprs_class_id);
      stmt.setString(3,city_name);
      stmt.setInt(4,ynall);  
      
      stmt.registerOutParameter(5,Types.VARCHAR);//stmt.setString(5,"");
 
    
      stmt.executeQuery();
      out.println(stmt.getString("return_str")); 
          
      }
      catch(Exception e)
      {
       e.getMessage();
       out.println("err");
      }
      finally
      {
        try
        {
            if(conn != null)
              conn.close();
        }
        catch(Exception e)
        {
            conn = null;
        }
         
       }

解决方案 »

  1.   

    String  s1=cs.getString(5);//得到返回值
      

  2.   

    String  s1=cs.getString(5);//得到返回值
    还有相应的getInt()....
      

  3.   

    stmt = conn.prepareCall("{?=call create_chart_wap_netgate_error(?,?,?,?,?)}"); //得到值时必须这样来使用存储过程
         
         stmt.registerOutParameter(1,Types.VARCHAR);  //需要
         stmt.setInt(2,work_id);
         stmt.setInt(3,gprs_class_id);
         stmt.setString(4,city_name);
         stmt.setInt(5,ynall);  
         
         stmt.registerOutParameter(6,Types.VARCHAR);//需要
          stmt.executeQuery();
          String str=stmt.getString(6);//得到值 
      

  4.   

    还是csdn中的资源丰富啊
    学到了
    高手也很多