CREATE OR REPLACE PACKAGE BODY PKG_HIS_APPOINTMENT IS
  PROCEDURE UP_DEPT_DICT(cur_OUT OUT MYCURSOR) IS
  BEGIN
    OPEN cur_OUT FOR
      select dept_name, dept_code
        from dept_dict
       where OUTP_OR_INP = 0
          or OUTP_OR_INP = 2;
  END UP_DEPT_DICT;using (OracleConnection connection = new OracleConnection(ConString))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    OracleDataAdapter oracleDataAdapter = new OracleDataAdapter();
                    OracleCommand oracleSelectCommand = new OracleCommand();                    oracleSelectCommand.CommandText = "OUTPADM.PKG_HIS_APPOINTMENT.UP_DEPT_DICT";
                    oracleSelectCommand.CommandType = CommandType.StoredProcedure;
                    oracleSelectCommand.Parameters.Add("cur_OUT", OracleType.Cursor).Direction = ParameterDirection.Output;                    
                    oracleDataAdapter.SelectCommand = oracleSelectCommand;
                    oracleDataAdapter.Fill(ds);
                    oracleDataAdapter.Dispose();
                }
                catch (System.Data.OracleClient.OracleException ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    connection.Close();
                }
                return ds;
            }DS总是空值 

解决方案 »

  1.   

    加上oracleSelectCommand.Connection = connection;试试
      

  2.   

    你的代码中,创建OracleDataAdapter时,都没有指定使用哪个连接,所以肯定不行的,有两种方法
    1、创建OracleDataAdapter时,指定
    2、创建OracleCommand时指定,然后指定OracleDataAdapter的SelectCommand 为该OracleCommand
      

  3.   

    ConString=""  内容我怎么没有看到?
    这个要复制 出来看看  
      

  4.   

    你的代码中,创建OracleDataAdapter时,都没有指定使用哪个连接,所以肯定不行的,有两种方法
    1、创建OracleDataAdapter时,指定
    2、创建OracleCommand时指定,然后指定OracleDataAdapter的SelectCommand 为该OracleCommand
      

  5.   

    OracleCommand对象没有指定连接对象.
      

  6.   

    跟SQl-server操作差不多
    LZ   OracleCommand 没有指定连接的目标
      

  7.   

    connection.Open();
      OracleDataAdapter oracleDataAdapter = new OracleDataAdapter();
      OracleCommand oracleSelectCommand = new OracleCommand();你connection没有和oracleDataAdapter 或oracleSelectCommand 关联,他们都没有连接。当然没有数据了。
      

  8.   

    使用数据库操作类,看看petshop
    using(OracleConnection con = new OracleConnection(""))
    {  
      con.Open();
      OracleCommand cmd=new OracleCommand("",con);
      cmd.CommandType=CommandType.StoredProcedure;
      OracleParameter p1=new OracleParameter("a",OracleType.Cursor);
      p1.Direction=System.Data.ParameterDirection.Output;
      cmd.Parameters.Add(p1);
      OracleDataAdapter da=new OracleDataAdapter(cmd);
      DataSet ds=new DataSet();
      da.Fill(ds);
    }