或者返回其他格式的数据集都可以

解决方案 »

  1.   

    sorry 说错定义包 包内包括游标cur存储过程中使用open cur for select * from dual;或者用OracleDataAdapter来取数据集
      

  2.   

    楼主说的web服务是webservice吗,返回的数据集好象只能是DataSet对象
    请参考以下代码:
    using System;
    using System.Web;
    using System.Data;
    using System.Web.Services;
    using System.Data.OracleClient;
    using System.Web.Services.Protocols;[WebService(Namespace = "http://mywebserver/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        private string _connectionstring = "";    public Service () {        //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
            _connectionstring = strOracleConnect();
        }    [WebMethod]
        public string HelloWorld() 
        {
            return "Hello World";
        }
     
        [WebMethod]
        public string strOracleConnect() 
         {
    return "Persist Security Info = True;User ID = aaa;Password = aaa;Data Source = aaa";
        }    [WebMethod]
        public DataSet ExecuteDataSet(string paramDataSetName, string strsql)
        {
            OracleConnection objconn = new OracleConnection(_connectionstring);
            DataSet objdatset = new DataSet();
            try
            {
                objconn.Open();
                OracleDataAdapter objsqlada = new OracleDataAdapter(strsql, objconn);
                objsqlada.Fill(objdatset, paramDataSetName);
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally
            {
                objconn.Close();
            }
            return objdatset;
        }    [WebMethod]
        public DataTable ExecuteDataTable(string paramDataSetName, string strsql)
        {
            OracleConnection objconn = new OracleConnection(_connectionstring);
            DataSet objdatset = new DataSet();
            try
            {
                objconn.Open();
                OracleDataAdapter objsqlada = new OracleDataAdapter(strsql, objconn);
                objsqlada.Fill(objdatset, paramDataSetName);
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally
            {
                objconn.Close();
            }
            return objdatset.Tables[paramDataSetName];
        }
    }