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, ...
随机推荐
- js37---Function.prototype
//给函数的prototype新增名字为name,函数体为fn的函数 Function.prototype.method =function(name,fn){ this.prototype[name ...
- THC=TERMINAL HANDLING CHARGE,碼頭操作費
THC=TERMINAL HANDLING CHARGE,碼頭操作費
- 错误 make: Nothing to be done for 'default'
Makefile书写格式非常严格,all:<TAB缩进>make -C $(KDIR) M=$(PWD) $(EXTRA_CFLAGS) modulesdefault:<TAB缩进& ...
- 图片拖拽缩放功能:兼容Chrome、Firefox、IE8+
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- eclipse创建maven
第一步: 第二步 第三步: 第四步: 第五步: 第六步: <?xml version="1.0" encoding="UTF-8"?> <we ...
- itchat转发指定的微信群里某个用户的发言到指定的群
复读机功能, 如果有比较多的用户,超出500人,那就得分开至少两个群,如何把一些消息自动复制到另一个群呢. 自动转发指定用户的发言,转发到别的群 # !/usr/bin/env python # -* ...
- SSO单点登录学习总结(1)——单点登录(SSO)原理解析
SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分.SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应 ...
- java 之 wait, notify, park, unpark , synchronized, Condition
1. wait notify /** * 解释: 唤醒一个等待monitor的线程, 如果有多个线程在等待,会唤醒一个. * 一个线程在等待monitor是由Object.wait引起的 * 获取一个 ...
- HTML基础第十二讲---链接标志
转自:https://i.cnblogs.com/posts?categoryid=1121494 没有链接,WWW将失去存在的意义!WWW之所以受欢迎,乃在于她除了有精美的图文之外,更有方便且多样化 ...
- Python 极简教程(十)集合 set
什么是集合? 集合(set)是一种可变,无序和不重复的序列. 集合是python的序列之一,集合没有列表(list).元组(tuple)和字典(ditc)常见.但是有时候也有奇效. 我们先来看个集合的 ...