Web服务调用Oracle存储过程

时间:2013-12-03 14:06:15

标签: c# asp.net .net oracle web-services

我需要构建一个调用Oracle存储过程的web服务,存储过程将返回一个ref游标,webservice必须以xml格式显示数据。

我已经设置了Oracle命令代码来调用存储过程,并且我已经设置了类来详细说明我想要呈现的对象的结构([DataContract]和[DataMembers])。

任何人都可以向我指出一个很好的例子,我错过了什么来解决这个问题吗?我没有找任何人为我做我的工作,只是不知道从哪里去,因为我之前没有使用过Oracle存储过程

这就是我现在所拥有的

[WebMethod]
    public DataSet PaymentAccDetails(Int32 strParRefNo)
    {
        DataSet ds = new DataSet();
        OracleConnection conn = new OracleConnection(ConnectionHelper.HousingDBConnectionString);
        OracleCommand cmd = new OracleCommand();
        cmd.Connection = conn;
        cmd.CommandText = "Get_payment_acc_details_crm"; ;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(new OracleParameter("pParRefno", OracleType.Number)).Direction = ParameterDirection.Input;
        cmd.Parameters.Add(new OracleParameter("oCursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
        OracleDataAdapter da = new OracleDataAdapter(cmd);
        conn.Open();
        OracleDataReader reader = cmd.ExecuteReader();
        da.Fill(ds);
        conn.Close();
        return (ds);

    }

我想以这种格式返回数据。当我在浏览器中查看它时,我可以看到我的Web方法,不知道如何更改它以便返回数据。

[DataContract]
public class PaymentAccDetails
{
    [DataMember(Order = 1)]
    public string PaymentRef
    {
        get;
        private set;
    }

    [DataMember(Order = 2)]
    public DateTime StartDate
    {
        get;
        private set;
    }

    [DataMember(Order = 3)]
    public DateTime EndDate
    {
        get;
        private set;
    }

    [DataMember(Order = 4)]
    public string AccountType
    {
        get;
        private set;
    }

    [DataMember(Order = 5)]
    public string PaymentMethod
    {
        get;
        private set;
    }

    [DataMember(Order = 6)]
    public DateTime LastPaidDate
    {
        get;
        private set;
    }

    [DataMember(Order = 7)]
    public string Balance
    {
        get;
        private set;
    }

}

感谢

0 个答案:

没有答案
相关问题