水晶易表调用C#的WebService,返回数据集合的应用分析_asp.net教程-查字典教程网
水晶易表调用C#的WebService,返回数据集合的应用分析
水晶易表调用C#的WebService,返回数据集合的应用分析
发布时间:2016-12-29 来源:查字典编辑
摘要:1.水晶易表不能识别WS接口返回的DataTable或DataSet数据类型,会提示“无法加载URL”3.C#调用Oracle的Packag...

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教程学习
    编程开发子分类