水晶易表调用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 or = new OracleConnection(ConfigurationManager.AppSettings["SAPBI"].ToString());
OracleCommand cmd = new OracleCommand("pkg_cx_Productlifecycle.skcweeksale", or);
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 mand = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
mand.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;
}
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程