注意:

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的更多相关文章

  1. 批量更新数据小心SQL触发器的陷阱

    批量更新数据时候,Inserted和Deleted临时表也是批量的,但触发器只会调用执行一次!两个概念千万不要弄混淆! 错误的理解:例如:创建在A表上创建了一个Update触发器,里面写的是Updat ...

  2. Hibernate批量更新和批量删除批量添加(转)

    通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存.批量处理数据是指在一个事务 ...

  3. druid + mysql + mybatis 批量更新报错

    首先 批量更新报错 sql injection violation, multi-statement not allow 然后看了博客:https://blog.csdn.net/qq_3634595 ...

  4. LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新

    原文:LINQ To SQL在N层应用程序中的CUD操作.批量删除.批量更新 0. 说明 Linq to Sql,以下简称L2S.    以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里 ...

  5. SQL 将2张不相关的表拼接成2列,批量更新至另一张表

    update SO_Master set LotteryNo=t2.LotteryNo,UpdateTime=GETDATE() --select sm.LotteryNo,sm.SysNo,t2.L ...

  6. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  7. 高效批量更新 sql 字段的值(从一个表向另一个表更新)

    里给出一种更高效.简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer.Oracle.DB2下的写法--关键点:t4和t1是同一个table,primary k ...

  8. mybatis 的批量更新操作sql

    转: mybatis 的批量更新操作sql 2018年07月23日 10:38:19 海力布 阅读数:1689   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  9. SQL批量更新数据

    SQL批量更新数据 step1:导入Excel数据, 具体见百度.注意点:一列中含有float型数据和文本数据的时候,导入要将Excel中的表格属性改成文本,或在数字项目前加个单引号.   step2 ...

随机推荐

  1. fabric-network_setup.sh安装脚本分析

    在进行镜像安装前,提供了一个sample脚本的下载,可以使用该脚本进行容器的启停.这里对该脚本进行分析. fabric/release/linux-amd64/network_setup.sh 脚本提 ...

  2. 1.Hadoop简单理解与总结。

    1.什么是Hadoop? Hadoop是一种分布式数据和计算的框架.它很擅长存储大量的半结构化的数据集.数据可以随机存放,所以一个磁盘的失败并不会带来数据丢失.Hadoop也非常擅长分布式计算——快速 ...

  3. mysql source 命令导入不了sql!

    sql文件也是正常, 为什么就是导入不了呢?? 后面才发现,可能是编码被notepad++ 修改了—— 一看发现是UTF-8 无BOM,改回UTF-8格式编码 就正常了!! 虽然看到的都是正常汉字, ...

  4. ubuntu(更新所有软件[可更新])终端命令

    转载自https://blog.csdn.net/quite_cgy/article/details/70312034 (1)输入命令 (2)执行效果(由于已经更新完毕,因此显示所有软件包均为最新,否 ...

  5. java中的byte

    8 bit (位) = 1 Byte (字节) java中的byte就是Byte 1024 Byte = 1KB 1024 KB = 1MB 1:“字节”是byte,“位”是bit : 2: 1 by ...

  6. react-navigation设置navigationOptions中Static中使用 this 的方法

    使用react-navigation时,单页面设置navigationOptions中,进行Static中 调用this 中的方法或值时,需要做如下操作 static navigationOption ...

  7. 浅谈 CAS

    CAS: CAS:Compare and Swap, 翻译成比较并交换. java.util.concurrent包中借助CAS实现了区别于 synchronized 同步锁的一种乐观锁. CAS应用 ...

  8. Centos下lnmp正确iptables配置规则

    查看iptable运行状态 service iptables status 清除已有规则 iptables -Fiptables -Xiptables -Z 开放端口 #允许本地回环接口(即运行本机访 ...

  9. 机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存)

    1. cv2.imread('cat.jpg', cv2.IMGREAD_GRAYSCALE)  # 使用imread读入图像(BGR顺序), 使用IMGREAD_GRAYSCALE 使得读入的图片为 ...

  10. elasticSearch-header

    elasticSearch既有chrome的插件 sense,但是因为chrome作为恶意插件不让植入,因此sense目前还停留在5版本. elasticSearch自带head plugin,用于监 ...