华域联盟 .Net 水晶易表调用C#的WebService,返回数据集合的应用分析

水晶易表调用C#的WebService,返回数据集合的应用分析

1. 水晶易表不能识别WS接口返回的DataTable或DataSet数据类型,会提示“无法加载URL”

3. C#调用Oracle的Package,并返回数据列表

2. 经查证,可以接受string类型的,如果需要返回数据列表,那么需要借助数组来返回,代码实现如下:

复制代码 代码如下:

public WeekSale_Table GetData(string skc1, string skc2, string week1, string week2, string week3, string week4)

        {

            try

            {

         //C#调用Oracle的包,返回数据列表

                OracleConnection orcn = new OracleConnection(ConfigurationManager.AppSettings["SAPBI"].ToString());

                OracleCommand cmd = new OracleCommand("pkg_cx_Productlifecycle.skcweeksale", orcn);

                cmd.CommandType = CommandType.StoredProcedure;

                OracleParameter ip0 = new OracleParameter("skc1", OracleType.VarChar);

                OracleParameter ip1 = new OracleParameter("skc2", OracleType.VarChar);

                OracleParameter ip2 = new OracleParameter("week1", OracleType.VarChar);

                OracleParameter ip3 = new OracleParameter("week2", OracleType.VarChar);

                OracleParameter ip4 = new OracleParameter("week3", OracleType.VarChar);

                OracleParameter ip5 = new OracleParameter("week4", OracleType.VarChar);

                ip0.Value = skc1;
                ip1.Value = skc2;
                ip2.Value = week1;
                ip3.Value = week2;
                ip4.Value = week3;
                ip5.Value = week4;

                cmd.Parameters.Add(ip0);
                cmd.Parameters.Add(ip1);
                cmd.Parameters.Add(ip2);
                cmd.Parameters.Add(ip3);
                cmd.Parameters.Add(ip4);
                cmd.Parameters.Add(ip5);

                OracleParameter p1 = new OracleParameter("p_rc", OracleType.Cursor);
                p1.Direction = System.Data.ParameterDirection.Output;
                cmd.Parameters.Add(p1);

                OracleDataAdapter command = new OracleDataAdapter(cmd);
                DataSet ds = new DataSet();
                command.Fill(ds, "Table");
                DataTable dt = ds.Tables["Table"];
                WeekSale_Table wt = new WeekSale_Table();
                wt.row = new WeekSale_Row[dt.Rows.Count];
                int rcount = dt.Rows.Count;
                for (int i = 0; i < rcount; i++)
                {
                    DataRow dr = dt.Rows[i];
                    WeekSale_Row row = new WeekSale_Row();
                    row.DISCOUNT1 = dr["DISCOUNT1"].ToString();
                    row.DISCOUNT2 = dr["DISCOUNT2"].ToString();
                    row.FCALCSUMS1 = dr["FCALCSUMS1"].ToString();
                    row.FCALCSUMS2 = dr["FCALCSUMS2"].ToString();
                    row.NUMS1 = dr["NUMS1"].ToString();
                    row.NUMS2 = dr["NUMS2"].ToString();
                    row.SKC1 = dr["SKC1"].ToString();
                    row.SKC2 = dr["SKC2"].ToString();
                    row.WEEK = dr["WEEK"].ToString();
                    row.WEEKS = dr["WEEKS"].ToString();
                    wt.row[i] = row;
                }
                return wt;
            }
            catch
            {
                return null;
            }
        }

复制代码 代码如下:

//定义Row,一行

public class WeekSale_Row

    {

        public string WEEKS;

        public string SKC1;

        public string SKC2;

        public string FCALCSUMS1;

        public string FCALCSUMS2;

        public string NUMS1;

        public string NUMS2;

        public string DISCOUNT1;

        public string DISCOUNT2;

        public string WEEK;

    }

//定义Table
public class WeekSale_Table
    {
        public WeekSale_Row[] row;
    }

您可能感兴趣的文章:

  • C#发送HttpPost请求来调用WebService的方法
  • C#动态webservice调用接口
  • c#动态调用Webservice的两种方法实例
  • C# .Net动态调用webService实现思路及代码
  • C#调用和实现WebService,纯手工打造!
  • C#调用WebService实例开发
  • C# 调用 JavaWebservice服务遇到的问题汇总
  • C# 创建、部署和调用WebService简单示例
  • C#使用HttpPost请求调用WebService的方法
  • C#调用webservice接口的最新方法教程

本文由 华域联盟 原创撰写:华域联盟 » 水晶易表调用C#的WebService,返回数据集合的应用分析

转载请保留出处和原文链接:https://www.cnhackhy.com/49936.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部