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 ...
随机推荐
- centos离线安装docker及其它软件包
桌面版本安装 docker可以通过网络安装,但在内网环境,需要进行离线安装. 执行 uname -r 获取操作系统版本号 根据版本号,到docker.com下载docker的离线安装包: Linux版 ...
- MyBatis与Hibernate的区别?
1.MyBatis学习成本低,Hibernate学习成本高: 2.MyBatis程序员编写SQL,Hibernate自动生成SQL:前者灵活及可优化高,后者不灵活及可优化低: 3.MyBatis适合需 ...
- tomcat gzip
----------- HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览.相对于普通的浏览过程HTM ...
- 在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面)
在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面) (https://www.lfd.uci.edu/~gohlke/pythonlibs/) win10 ...
- Spring注解标签详解@Autowired @Qualifier等
http://blog.csdn.net/wangsr4java/article/details/42777855 @Component.@Repository.@Service.@Controlle ...
- Django--ORM(模型层)-重点
一.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发 ...
- vue:再vue-cli项目中使用window以及调用window上的方法
一: 1:在main.js中 Vue.prototype.myfunction = function() {/*你的自定义Vue方法*/} 2:在mounted(或其他生命周期中) 或者 method ...
- How to Pronounce the Numbers 1 – 10
How to Pronounce the Numbers 1 – 10 Share Tweet Share Tagged With: Numbers Numbers are something you ...
- python的解构
今天学习python看到python的解构,觉得很有用就写下来,防止自己忘了 首先定义个列表 然后我们来解构 字典呢?字典需要两个*号才能解构 这样调用不明显 来个明显点的 上面错误是,你定义了一个形 ...
- centos7下找不到iptables文件
最近在centos7下,搭建ftp服务,按照步骤一步一步来,发现 etc/sysconfig/iptables这个文件并不存在,然后去找解决方案, 原文地址:http://blog.csdn.net/ ...