如今做的一个项目须要用到批量加入,可是封装的底层没有这种方法,所以自食其力,自己来写。我们用的是拼接sql字符串的方法来实现功能。

详细实现流程:首先将须要的数据存储到实体的list中,然后将这个list传给我们批量加入的方法。批量加入的方法首先应该打开数据库连接,然后開始进行sql字符串的拼接,拼接完毕后。调用sqlhelper方法进行加入。

详细代码例如以下:

        #region 批量加入实体
/// <summary>
/// 批量加入实体
/// </summary>
/// <param name="staffscores"></param>
/// <returns></returns>
public bool Insert(List<YzQueryStaffScoresEntity> staffscores)
{
//打开数据库连接
SQLHelper sqlHelper = new SQLHelper("data source=192.168.22.239;initial catalog=YzEvaluationSystem;persist security info=True;user id=sa;password=xxx;", true); StringBuilder sbSql = new StringBuilder(); //拼接字符串,加入方法
sbSql.Append("insert into YzQueryStaffScoresEntity(ID,StaffID,StaffName,WorkEfficiency,ProfessionalEthics,BusinessAbility,HonestyDiscipline,WorkPerformance,other1,other2,Number,TotalScores,IsUsed) values"); //循环实体list,进行拼接
if (staffscores.Count > 1)
{
for (int i = 0; i < staffscores.Count - 1; i++)
{
sbSql.Append("('" + staffscores[i].ID + "',");
sbSql.Append("'" + staffscores[i].StaffID + "',");
sbSql.Append("'" + staffscores[i].StaffName + "',");
sbSql.Append(staffscores[i].WorkEfficiency + ",");
sbSql.Append(staffscores[i].ProfessionalEthics + ",");
sbSql.Append(staffscores[i].BusinessAbility + ",");
sbSql.Append(staffscores[i].HonestyDiscipline + ",");
sbSql.Append(staffscores[i].WorkPerformance + ",");
sbSql.Append(staffscores[i].other1 + ",");
sbSql.Append(staffscores[i].other2 + ",");
sbSql.Append(staffscores[i].Number + ",");
sbSql.Append(staffscores[i].TotalScores + ",");
sbSql.Append(1);
sbSql.Append("),");
}
sbSql.Append("('" + staffscores[staffscores.Count - 1].ID + "',");
sbSql.Append("'" + staffscores[staffscores.Count - 1].StaffID + "',");
sbSql.Append("'" + staffscores[staffscores.Count - 1].StaffName + "',");
sbSql.Append(staffscores[staffscores.Count - 1].WorkEfficiency + ",");
sbSql.Append(staffscores[staffscores.Count - 1].ProfessionalEthics + ",");
sbSql.Append(staffscores[staffscores.Count - 1].BusinessAbility + ",");
sbSql.Append(staffscores[staffscores.Count - 1].HonestyDiscipline + ",");
sbSql.Append(staffscores[staffscores.Count - 1].WorkPerformance + ",");
sbSql.Append(staffscores[staffscores.Count - 1].other1 + ",");
sbSql.Append(staffscores[staffscores.Count - 1].other2 + ",");
sbSql.Append(staffscores[staffscores.Count - 1].Number + ",");
sbSql.Append(staffscores[staffscores.Count - 1].TotalScores + ",");
sbSql.Append(1);
sbSql.Append(")");
}
//调用sqlhelper方法进行加入。
int flag = sqlHelper.ExecuteNonQuery(sbSql.ToString(), System.Data.CommandType.Text);
if (flag > 0)
{
return true;
}
else
{
return false;
} }
#endregion

一開始说要自己写sql拼接字符串的时候还认为,哇塞,这肯定特别难。我光听说了,从来没有见过啊。结果一见之下。发现很的简单。

所以。不怕不知道,就怕不知道!各位加油

【批量加入】-拼接sql字符串的更多相关文章

  1. 【批量添加】-拼接sql字符串 标签: 批量添加 2015-12-13 17:49 2070人阅读 评论(33)

    现在做的一个项目需要用到批量添加,但是封装的底层没有这个方法,所以自食其力,自己来写.我们用的是拼接sql字符串的方法来实现功能. 具体实现流程:首先将需要的数据存储到实体的list中,然后将这个li ...

  2. 通过拼接SQL字符串实现多条件查询

    一.通过拼接SQL字符串的方法的好处是: 1.方便查询条件的扩展. 2.简化业务逻辑的判断. 二.例子: 1.界面设计 2.点击查询的代码 /// <summary> /// 按条件查询 ...

  3. SQLServer 存储过程中不拼接SQL字符串实现多条件查询

    以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and a ...

  4. EF架构~过滤导航属性等,拼接SQL字符串

    拼接T-SQL串,并使它具有通用性 好处:与服务器建立一次连接,给服务器发一条SQL命令,即可实现 代码如下: 1 /// <summary> 2 /// 构建Insert语句串 3 // ...

  5. MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)

    官方好像说过limit已经在5.6版本上支持了动态参数,但是测试时依然还是不行. 那么要解决limit动态参数唯一能做的就是使用字符串SQL拼接的形式,然后再进行执行. 一般有以下方式解决: 1.存储 ...

  6. 存储过程中拼接SQL语句

    很多时候我们需要利用参数在存储过程中重新组织SQL语句,在存储过程中拼接的SQL语句只是一个字符串,不会被直接执行,所以加一个execute执行它就可以了.具体看如下演示代码: 代码: set ANS ...

  7. Python 字符串拼接 sql ,造成 sql 注入例子

    简单的 userinfo 表 字符串拼接 sql import pymysql # 测试环境的数据库连接 conn = pymysql.connect(host='192.168.0.214', po ...

  8. 解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题

    今天遇到了一个奇葩的问题:存储过程中的sql字符串拼接的太长,超出了分页存储过程执行sql参数的nvarchar(4000)的长度. 没办法,只能修改自己的存储过程,因为分页存储过程是不能动的. 开始 ...

  9. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

随机推荐

  1. 转:超实用的IOS 9人机界面指南(1):UI设计基础 (腾讯力作)

    转: http://www.uisdc.com/ios9-interface-guideline-ui

  2. 近期面试Android的一些面试题

    近期一个多月面试过一下公司(均为实习): 腾讯:内推一面卒. 正式校招拿到offer 阿里:内推二面卒. 蘑菇街:面完三面技术面,等待HR面 网易:拿到offer. 能够看到,大部分问题不难,可是能回 ...

  3. Image Based Lighting In UE3

    "IBL"全称为"Image-based Lighint",是一种伪装全局光照的方法.使用该方法可以获得较好的视觉效果并且可以达到实时渲染的目的. 实现的方法之 ...

  4. spring中的AOP 以及各种通知 配置

    理解了前面动态代理对象的原理之后,其实还是有很多不足之处,因为如果在项目中有20多个类,每个类有100多个方法都需要判断是不是要开事务,那么方法调用那里会相当麻烦. spring中的AOP很好地解决了 ...

  5. C#面试基础问题0

    传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同. 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称. C#支持多重继承么?不支持.可以用接口来实 ...

  6. idea 编程字体推荐

    monaco vardana fira code mediu dejavu sans mono 上述字体 在14号字 1.1倍行距 时编程比较舒服

  7. Hadoop-2.4.0分布式安装手冊

    文件夹 文件夹 1 1. 前言 2 2. 部署 2 2.1. 机器列表 2 2.2. 主机名 2 2.2.1. 暂时改动主机名 3 2.2.2. 永久改动主机名 3 2.3. 免password登录范 ...

  8. excel增加上一列的数值(日期)

    =TEXT(D2-1,"m月d日") 有年的话就是 =TEXT(D2-1,"yyyy年m月d日") D2就是参照日期

  9. Vivado Logic Analyzer的进一步探讨

    本文基于Vivado 2014.2,代码基于文章http://blog.chinaaet.com/detail/37239中使用的代码. 这一篇仅讨论在综合后的Netlist中选择信号进行捕获的方法. ...

  10. POJ--3529--Wormholes

    Wormholes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 36889   Accepted: 13520 Descr ...