要求:C#调用ORACLE存储过程返回dataset其中:ORACLE存储过程中有类型为CURSOR的输出参数。。C#在后台调用存储过程后,如何将上述输出参数转换为dataSet或dataTable形式???

解决方案 »

  1.   

    楼主的头像 我喜欢
    ------------------------ webconfig
    <add key="olecon" value="Provider = MSDAORA.1; Data Source = TWIN; User ID =cy_hsp_yxt; Password =yxt"/>
    -------------------------------dataset
      /// oracon 数据连接参数
        /// </summary>
        public void oleOpen()
        {
            string orastr = ConfigurationManager.AppSettings["olecon"];
            oledbcon = new OleDbConnection(orastr);
            oledbcon.Open();
        }
    //返回填充oracle的数据库。
        public DataSet oleds(string olestr)
        {
            oleOpen();
            OleDbDataAdapter oda = new OleDbDataAdapter(olestr,oledbcon);
            DataSet myds = new DataSet();
            oda.Fill(myds );
            return myds;
            oledbcon.Close();
        }
      

  2.   

    看看petshop
    using(OracleConnection con = new OracleConnection(""))
    {
    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); 
    }
    http://topic.csdn.net/u/20091106/14/07d3d593-fa6a-4c79-b1a7-6ae8cbe98509.html