前端调用后端方法时要传递多个参数,在前端js中拼接xml形式的字符串:

 var args = "<?xml version='1.0' encoding='utf-8' ?>";
args += "<Bill>";
for (var i = 0; i < dataChange.length; i++) {
if (dataChange[i].bghsl != undefined) {
if (dataChange[i].gcsl != undefined)
args += "<Item PrimaryKey = '" + data.items[i].data.gxid + "' SSBM = '" + data.items[i].data.ssbm + "' BillCode = '" + data.items[i].data.qdbh + "' ProCount = '" + dataChange[i].gcsl + "' />";
else
args += "<Item PrimaryKey = '" + data.items[i].data.gxid + "' SSBM = '" + data.items[i].data.ssbm + "' BillCode = '" + data.items[i].data.qdbh + "' ProCount = '" + 0 + "' />";
}
}
args += "</Bill>";

后端接收参数并解析:

 protected override string UpdateProCount(string strXml)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
XmlElement root = doc.DocumentElement; StringBuilder strSql = new StringBuilder();
StringBuilder strqd = new StringBuilder();
foreach (XmlElement item in root.ChildNodes)
{
strSql.AppendFormat("update T_JJJ_JGBWQDGX set F_GCSL={0},F_BGHSL = isnull(F_BGSL,0) + {0},F_BGHJE = (isnull(F_BGSL,0) + {0}) * F_BGHDJ ", item.GetAttribute("ProCount"));
strSql.AppendFormat("where F_ID = {0};", item.GetAttribute("PrimaryKey"));
strqd.AppendFormat("'{0}',", item.GetAttribute("BillCode"));
}
int resault = GSqlDataAccess.ExecuteNonQuery("default", strSql.ToString(), null);
if (resault == )
return "保存失败!";
else
{
string fid = root.FirstChild.Attributes["PrimaryKey"].Value;
strSql.Clear();
string tmp = strqd.ToString();
strSql.Append("declare @BDBH number(19,0);");
strSql.AppendFormat("select @BDBH = F_BDBH from T_JJJ_SGGCLQDFJ where F_ID = (select F_SGGCLQDFJ_ID from T_JJJ_JGBWQDGX where F_ID = {0});", fid);
strSql.Append("select sum(F_GCSL) as CountSum,F_QDBH,F_BDBH from T_JJJ_SGGCLQDFJ ");
strSql.Append("inner join T_JJJ_JGBWQDGX on T_JJJ_SGGCLQDFJ.F_ID = T_JJJ_JGBWQDGX.F_SGGCLQDFJ_ID ");
strSql.AppendFormat("where T_JJJ_SGGCLQDFJ.F_BDBH = @BDBH and F_QDBH in {0} group by F_QDBH,F_BDBH ", "(" + tmp.Substring(, tmp.Length - ) + ")");
IDataReader reader = GSqlDataAccess.SelectReader("default", strSql.ToString(), null);
strSql.Clear();
while (reader.Read())
{
strSql.AppendFormat("update T_JJJ_SGHTGCLQD set F_HLSL = {0}, ", reader["CountSum"].ToString() == "" ? "" : reader["CountSum"].ToString());
strSql.AppendFormat("F_HLJE = {0} * (isnull(F_HTDJ,F_BGHDJ)) ", reader["CountSum"].ToString() == "" ? "" : reader["CountSum"].ToString());
strSql.AppendFormat("where F_CODE = '{0}' and F_SSBM = {1};", reader["F_QDBH"].ToString(), reader["F_BDBH"].ToString());
}
reader.Dispose();
resault = GSqlDataAccess.ExecuteNonQuery("default", strSql.ToString(), null);
if (resault > ) return "保存成功!"; else
return "保存失败!";
}
}

xml传参的更多相关文章

  1. springboot实现xml传参和返回值

    1.新建maven工程xml-bean-convert pom.xml如下 <?xml version="1.0" encoding="UTF-8"?&g ...

  2. 在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误

    这是 微信支付-统一下单 接口文档 一.问题描述 在调用统一下单接口时,报mch_id参数格式错误,但商户ID确实是10位数字正确的,可就是一直报这个错误 返回的错误xml如下: 二.排错过程 1.多 ...

  3. SQL Server 存储过程解析XML传参 参考方案

    1.定义存储过程 -- =============================================--定义存储过程-- ================================ ...

  4. 【转】Sql Server参数化查询之where in和like实现之xml和DataTable传参

    转载至: http://www.cnblogs.com/lzrabbit/archive/2012/04/29/2475427.html 在上一篇Sql Server参数化查询之where in和li ...

  5. Sql Server参数化查询之where in和like实现之xml和DataTable传参 (转)

    在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充 文章导读 ...

  6. TestNG参数化之@Parameters传参

    通过TestNG实现参数话常用两种方式,一种是借助 @Parameters读取testng.xml中参数,一种是使用@DataProvider注解传参. 此次主要讲解XML传参,语法:在java类中定 ...

  7. FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参

    *起因* 本来想用Chart.js来搞图表的, 但是来了个新需求,想搞的华丽点,毕竟对Chart.js来说,实现有点难度, *做出的改变* 最终选择了FusionCharts, *难点* 网上关于Fu ...

  8. AJAX - 封装的传参改为传入对象 XML JSON 数据格式

    Ajax封装函数,上次是直接传参,这次在原来的基础上改进,模仿jQuery 直接传入对象,把之前的参数都变为这个对象的属性. 这样可以随意调换传入数据的次序. 其他优点? 需要再复习一下. Ajax处 ...

  9. mybatis-plus 自定义SQL,XML形式,传参的几种方式

    mybatis-plus 自定义SQL,XML形式,传参的几种方式 前提说明 所涉及文件 传参类型说明 1.Java代码中使用QueryWrapper动态拼装SQL 2.简单类型参数(如String, ...

随机推荐

  1. Input File选择图片后,未保存预览

    今天实现上传图片到服务器 简单的jQuery实现input file选择图片后,可以预览图片的效果 简单的HTML代码: <div> <img src="" cl ...

  2. div的标准盒模型和怪异盒模型

    (1)标准盒模型 标准盒模型宽高不会被padding和margin撑开 (2)怪异盒模型 怪异盒模型宽高会被padding和margin撑开

  3. BZOJ3672: [Noi2014]购票(CDQ分治,点分治)

    Description  今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会.        全国的城市构成了一棵以SZ市为根的有根树 ...

  4. 解读OpenRTB(实时竞价)生态系统

    最近3年,广告实时竞价(RealTimeBidding)模式逐渐流行起来. 2012年大致了解过,最近一段时间,重新温习下. 半壁江山 生态系统总的来说分为2个部分,卖方和买方. 卖方:媒体,即拥有广 ...

  5. 洛谷 P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  6. [Vue + TS] Create Type-Safe Vue Directives in TypeScript

    Directives allow us to apply DOM manipulations as side effects. We’ll show you how you can create yo ...

  7. 转换PHP脚本成为windows的执行程序

    转换PHP脚本成为windows的执行程序 Convert a PHP script into a stand-alone windows executable I want to automate ...

  8. 13.constexpr

    #include <iostream> using namespace std; //声明返回值为常量表达式 constexpr int get() { ; return num; } v ...

  9. 软件——机器学习与Python,Python3的输出与输入

    输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') p ...

  10. FZU Problem 2062 Suneast & Yayamao

    http://acm.fzu.edu.cn/problem.php?pid=2062 题目大意: 给你一个数n,要求求出用多少个数字可以表示1~n的所有数. 思路: 分解为二进制. 对于一个数n,看它 ...