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

 更新时间:2013年04月28日 11:24:48   作者:  
本篇文章介绍了,水晶易表调用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;
    }

相关文章

  • 从零开始学ASP.NET-基础篇

    从零开始学ASP.NET-基础篇

    从零开始学ASP.NET-基础篇...
    2006-07-07
  • Net内存管理五大基础

    Net内存管理五大基础

    这篇文章主要给大家分享Net内存管理五大基础内容,文章讲围绕Net内存管理详细介绍文章内容,感兴趣的朋友可以参考一下,希望对你有所帮助
    2021-10-10
  • ASP.NET Core Web API 教程Project Configuration

    ASP.NET Core Web API 教程Project Configuration

    本文将介绍 Startup 类中的配置方法以及如何通过这些方法来设置应用程序。除此之外,还将介绍如何注册服务以及如何通过扩展方法来实现注册,需要的朋友可以参考下面文章内容
    2021-09-09
  • ASP.NET Core 中间件的使用之全局异常处理机制

    ASP.NET Core 中间件的使用之全局异常处理机制

    我们今天这篇文章就来说说代码异常问题怎么快速定位,减少不必要的时间浪费。异常是一种运行时错误,当异常没有得到适当的处理,很可能会导致你的程序意外终止。下面雄安边将详细介绍,需要的朋友可以参考下
    2021-09-09
  • .NET项目在k8s中运行的Dapr持续集成流程

    .NET项目在k8s中运行的Dapr持续集成流程

    这篇文章主要介绍了.NET项目在k8s中运行的Dapr持续集成流程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • .Net Core HttpClient处理响应压缩详细

    .Net Core HttpClient处理响应压缩详细

    .Net Core作为后起之秀直接将HttpClient扶正,并且在此基础上改良了HttpClientFactory,接下来我们就来探究一下在.Net Core中使用HttpClient处理响应压缩的机制。,需要的朋友可以参考下面文章的具体内容
    2021-09-09
  • .Net执行SQL存储过程之易用轻量工具详解

    .Net执行SQL存储过程之易用轻量工具详解

    这篇文章主要为大家介绍了.Net执行SQL存储过程之易用轻量工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • .NET新能源汽车锂电池检测程序UI挂死问题分析

    .NET新能源汽车锂电池检测程序UI挂死问题分析

    这篇文章主要为大家介绍了.NET新能源汽车锂电池检测程序UI挂死问题分析 ,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • ASP.NET Core使用Middleware设置有条件允许访问路由

    ASP.NET Core使用Middleware设置有条件允许访问路由

    这篇文章主要介绍了ASP.NET Core使用Middleware设置有条件允许访问路由,文章围绕主题相关资料展开学习内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-02-02
  • ASP.NET Core MVC 依赖注入View与Controller

    ASP.NET Core MVC 依赖注入View与Controller

    本文重点给大家介绍的是ASP.NET Core MVC 之依赖注入 View 和ASP.NET Core MVC 之依赖注入 Controller的相关资料,需要的小伙伴可以参考下面文章具体内容
    2021-09-09

最新评论