ResultSet rset = (ResultSet)call.getObject(2);
     
     while (rset.next ()){
      System.out.println (rset.getInt ("DEPTNO") + "  "
                          + rset.getString ("DNAME") + "  "
                          + rset.getString ("LOC"));
      }
    
改成call.getInt("DEPTNO");

解决方案 »

  1.   

    to liyeying:
    ResultSet rset = (ResultSet)call.getObject(2);
    我用jdb调试,看出来rset为NULL。
      

  2.   

    参考:
    package com.bitc;import java.sql.*;
    import com.bitc.*;
    import java.io.*;public class NewAuAccTarget extends DBCon2
    {
    CallableStatement stmt=null;
    String sql="{call Au_NewAccSort(?,?,?)}";
    String AccNa="";
    String AccId=""; public NewAuAccTarget()
    {
    super();
    } public void getParameter(String AccNa,String AccId)
    {
    this.AccNa=AccNa;
    this.AccId=AccId;
    } public String getResult() throws Exception
    {
    stmt=con.prepareCall(sql);
    stmt.setString(1,AccNa);
    stmt.setString(2,AccId);
    stmt.registerOutParameter(3,Types.VARCHAR);
        stmt.executeUpdate();
      //clearParameters();
        String cMessage=stmt.getString(3);
    return cMessage;
    } public void cleanup() throws Exception
        {   
           
       if(stmt!=null)stmt.close();
        }
    }还有一个bean,是父类
    /*
     *文件名:DBCon2.java
     *创建时间:2002-12-15 by chen
     *修改时间:
     *功能描述:创建数据库连接,且为其它Bean的父类。
    */package com.bitc;
    import java.sql.*;
    import java.io.*;public abstract  class DBCon2
    {
      Connection con = null;
      public DBCon2()
    {

    }
    public void BuildConnection()
    {
    try
    {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:AuditDB","system","manager");
    }catch(Exception e){}
    }
      public abstract void cleanup() throws Exception;
      public void takeDown() throws Exception
       {
    cleanup();
    con.close();
       }
    }
      

  3.   

    这个问题我自己已经解决。将 ResultSet rset = (ResultSet)call.getObject(2);改为
    ResultSet rset = (ResultSet)call.getResultSet();即可。