xml传参
前端调用后端方法时要传递多个参数,在前端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传参的更多相关文章
- springboot实现xml传参和返回值
1.新建maven工程xml-bean-convert pom.xml如下 <?xml version="1.0" encoding="UTF-8"?&g ...
- 在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误
这是 微信支付-统一下单 接口文档 一.问题描述 在调用统一下单接口时,报mch_id参数格式错误,但商户ID确实是10位数字正确的,可就是一直报这个错误 返回的错误xml如下: 二.排错过程 1.多 ...
- SQL Server 存储过程解析XML传参 参考方案
1.定义存储过程 -- =============================================--定义存储过程-- ================================ ...
- 【转】Sql Server参数化查询之where in和like实现之xml和DataTable传参
转载至: http://www.cnblogs.com/lzrabbit/archive/2012/04/29/2475427.html 在上一篇Sql Server参数化查询之where in和li ...
- Sql Server参数化查询之where in和like实现之xml和DataTable传参 (转)
在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充 文章导读 ...
- TestNG参数化之@Parameters传参
通过TestNG实现参数话常用两种方式,一种是借助 @Parameters读取testng.xml中参数,一种是使用@DataProvider注解传参. 此次主要讲解XML传参,语法:在java类中定 ...
- FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
*起因* 本来想用Chart.js来搞图表的, 但是来了个新需求,想搞的华丽点,毕竟对Chart.js来说,实现有点难度, *做出的改变* 最终选择了FusionCharts, *难点* 网上关于Fu ...
- AJAX - 封装的传参改为传入对象 XML JSON 数据格式
Ajax封装函数,上次是直接传参,这次在原来的基础上改进,模仿jQuery 直接传入对象,把之前的参数都变为这个对象的属性. 这样可以随意调换传入数据的次序. 其他优点? 需要再复习一下. Ajax处 ...
- mybatis-plus 自定义SQL,XML形式,传参的几种方式
mybatis-plus 自定义SQL,XML形式,传参的几种方式 前提说明 所涉及文件 传参类型说明 1.Java代码中使用QueryWrapper动态拼装SQL 2.简单类型参数(如String, ...
随机推荐
- malloc,colloc,realloc内存分配,动态库,静态库的生成与调用
1.在main方法里面直接定义一个很大的数组的时候.可能会出现栈溢出:错误代码演示: #include<stdio.h> #include<stdlib.h> void ...
- js28--适配器模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- css 兼容性前缀
一.不同浏览器内核下的书写规则 二:transform 具体变性中心基点 transform-origin 默认情况下 rotate旋转.scale缩放.translate位移.矩阵matri ...
- vue 刷新当前页面的方式
1.使用window.location.href window.location.replace() window.location.reload() 会出现空白,体验不是很好 2.先进入一个空路由, ...
- 【AtCoder Regular Contest 082】Derangement
[链接]点击打开链接 [题意] 在这里写题意 [题解] 贪心. 连续一块的p[i]==i的话,对答案的贡献就应该为(这个连续块的长度+1)/2; 长度为1的也正确. (也即两两相邻的互换位置.) [错 ...
- C/S与B/S架构比较
一C/S 1.C/S概念 C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.Informix或 SQL Serv ...
- 限制tomcat仅响应本机请求(转)
http://blog.bbzhh.com/index.php/archives/135.html 在VPS上搭建了nginx和tomcat应用,想通过nginx来反向代理127.0.0.1:8080 ...
- 黑马day01 xml 的解析方式
XML编程:利用java程序去增删改查(CRUD)xml中的数据 解析思想: dom解析 sax解析 基于这两种解析思想市面上就有了非常多的解析api sun jaxp既有dom方式也有sax方式,而 ...
- css滑动鼠标到img后,切换图片
写了个样例: <a href="#"><img src="http://csdnimg.cn/pubfooter/images/gongshang_lo ...
- SpringMVC 学习笔记(十) 异常处理HandlerExceptionResolver
Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包含 Handler 映射.数据绑定以及目标方法运行时发生的异常. SpringMVC 提供的 Handl ...