c#批量更新list对象sql
注意:
1.语句中"set "后有空格,
2.最后一个if一定有值,且接连的sql字段 无 逗号
3.parameterList.Clear();
/// <summary> /// 批量更新 /// </summary> public void UpdateList(List<ProModule.Model.ept_scn> list) { StringBuilder strSql = new StringBuilder(); strSql.Append("update ept_scn set "); List<MySqlParameter> parameterList = new List<MySqlParameter>(); int x = list.Count; Hashtable SQLStringList = new Hashtable(); for (int i = 0; i < x; i++) { ProModule.Model.ept_scn scn = list[i]; int y = 0; if (scn.scn != null) { strSql.Append("scn=@scn,"); parameterList.Add(new MySqlParameter("@scn", MySqlDbType.VarChar, 50)); parameterList[y].Value = scn.scn; y = y + 1; } if (scn.is_lock != null) { strSql.Append("is_lock=@is_lock,"); parameterList.Add(new MySqlParameter("@is_lock", MySqlDbType.Int32, 11)); parameterList[y].Value = scn.is_lock; y = y + 1; } if (scn.is_audit != null) { strSql.Append("is_audit=@is_audit,"); parameterList.Add(new MySqlParameter("@is_audit", MySqlDbType.Int32, 11)); parameterList[y].Value = scn.is_audit; y = y + 1; } if (scn.is_abandon != null) { strSql.Append("is_abandon=@is_abandon,"); parameterList.Add(new MySqlParameter("@is_abandon", MySqlDbType.Int32, 11)); parameterList[y].Value = scn.is_abandon; y = y + 1; } if (scn.is_finish != null) { strSql.Append("is_finish=@is_finish,"); parameterList.Add(new MySqlParameter("@is_finish", MySqlDbType.Int32, 11)); parameterList[y].Value = scn.is_finish; y = y + 1; } if (scn.remark != null) { strSql.Append("remark=@remark,"); parameterList.Add(new MySqlParameter("@remark", MySqlDbType.VarChar, 50)); parameterList[y].Value = scn.remark; y = y + 1; } if (scn.msg != null) { strSql.Append("msg=@msg,"); parameterList.Add(new MySqlParameter("@msg", MySqlDbType.VarChar, 50)); parameterList[y].Value = scn.msg; y = y + 1; } if (scn.audit_by != null) { strSql.Append("audit_by=@audit_by,"); parameterList.Add(new MySqlParameter("@audit_by", MySqlDbType.VarChar, 50)); parameterList[y].Value = scn.audit_by; y = y + 1; } if (scn.audit_time != null) { strSql.Append("audit_time=@audit_time,"); parameterList.Add(new MySqlParameter("@audit_time", MySqlDbType.DateTime)); parameterList[y].Value = scn.audit_time; y = y + 1; } if (scn.checks != null) { strSql.Append("checks=@checks"); parameterList.Add(new MySqlParameter("@checks", MySqlDbType.Int32, 11)); parameterList[y].Value = scn.checks; y = y + 1; } strSql.Append(" where id=@id "); parameterList.Add(new MySqlParameter("@id", MySqlDbType.VarChar, 50)); parameterList[y].Value = scn.id; MySqlParameter[] parameters = parameterList.ToArray(); ; SQLStringList.Add(strSql.ToString(), parameters); parameterList.Clear(); } DbHelperMySQL.ExecuteSqlTran(SQLStringList); }
c#批量更新list对象sql的更多相关文章
- 批量更新数据小心SQL触发器的陷阱
批量更新数据时候,Inserted和Deleted临时表也是批量的,但触发器只会调用执行一次!两个概念千万不要弄混淆! 错误的理解:例如:创建在A表上创建了一个Update触发器,里面写的是Updat ...
- Hibernate批量更新和批量删除批量添加(转)
通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存.批量处理数据是指在一个事务 ...
- druid + mysql + mybatis 批量更新报错
首先 批量更新报错 sql injection violation, multi-statement not allow 然后看了博客:https://blog.csdn.net/qq_3634595 ...
- LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
原文:LINQ To SQL在N层应用程序中的CUD操作.批量删除.批量更新 0. 说明 Linq to Sql,以下简称L2S. 以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里 ...
- SQL 将2张不相关的表拼接成2列,批量更新至另一张表
update SO_Master set LotteryNo=t2.LotteryNo,UpdateTime=GETDATE() --select sm.LotteryNo,sm.SysNo,t2.L ...
- SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...
- 高效批量更新 sql 字段的值(从一个表向另一个表更新)
里给出一种更高效.简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer.Oracle.DB2下的写法--关键点:t4和t1是同一个table,primary k ...
- mybatis 的批量更新操作sql
转: mybatis 的批量更新操作sql 2018年07月23日 10:38:19 海力布 阅读数:1689 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- SQL批量更新数据
SQL批量更新数据 step1:导入Excel数据, 具体见百度.注意点:一列中含有float型数据和文本数据的时候,导入要将Excel中的表格属性改成文本,或在数字项目前加个单引号. step2 ...
随机推荐
- SQLServer树查询
感觉这个CTE递归查询蛮好用的,先举个例子: use City; go create table Tree ( ID int identity(1,1) primary key not null, N ...
- ElasticSearch 2 (1) - Getting Start
ElasticSearch 2.1.1 (1) - Getting Start Install & Up cd elasticsearch-2.1.1/bin ./elasticsearch ...
- zookeeper(2) zookeeper的核心原理
zookeeper 的前世今生 分布式系统的很多难题,都是由于缺少协调机制造成的.在分布式协调这块做得比较好的,有 Google 的 Chubby 以及 Apache 的 Zookeeper. Goo ...
- 【ASP.NET 进阶】PDF文件在线预览(类似百度文库)
工作需要完成文档的在线预览,现在完成了第一步PDF文件的预览,步骤是通过PDF转换工具pdf2swf.exe把PDF文件转换为SWF文件,然后通过FlexPaper就可以预览了.效果如下(GIF图片太 ...
- 页面适应电脑和手机屏幕initial-scale 1:0 user-scalable=yes
2017年09月25日 11:30:27 Goddess_liangyanli 阅读数:7324 标签: 手机 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- 浅谈如何避免内存泄漏(out of memory)
1.在涉及使用Context时,对于生命周期比Activity长的对象应该使用Application的Context.凡是使用Context优先考虑Application的Context,当然它并不是 ...
- django--用户认证组件
用户认证组件 用户认证组件: 功能:用session记录登录验证状态 前提:用户表:django自带的auth_user 创建超级用户: python3 manage.py createsuperus ...
- 翻转单链表 leetcode Reverse Linked List
翻转一个单链表.这个题目听说很多次了,总感觉肯定不是什么难题. 现在真的有点好高骛远了!总感觉那种很难的算法题才是难题,这种题没必要做.其实眼高手低啊. 这种easy题,我都不能一遍ac,这遇到白板编 ...
- css-实现子元素垂直居中
1.父元素:position:relative; 2.子元素:position:absolute; top:50%; transform:translate(0,-50%); 完美解决
- vscode 不显示指定后缀名pyc文件
不显示python生成的pyc文件 不显示java eclipse编辑器生成的.metadata生成的文件夹 py文件执行后会生成.pyc文件,会影响侧边栏的使用,可以通过如下设置隐藏.pyc等中间文 ...