• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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; }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#即时通讯系统设计与实现(一)发布时间:2022-07-13
下一篇:
C#线程系列讲座(4):同步与死锁发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap