如今做的一个项目须要用到批量加入,可是封装的底层没有这种方法,所以自食其力,自己来写。我们用的是拼接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. DevExpress控件使用小结

    摘自: http://blog.sina.com.cn/s/blog_95cfa64601019wex.html .TextEditor(barEditItem)取文本 string editValu ...

  2. [Android Pro] Android中全局Application的onCreate多次调用问题

    一般来说Application的onCreate方法只会执行一次, 如果应用中采用多进程方式,oncreate方法会执行多次,根据不同的进程名字进行不同的初始化, 就是在application中多添加 ...

  3. Autolayout约束动画化-Animating Autolayout Constraints

    原文:Animating Autolayout Constraints 作者:@kharrison 译者:CocoaChina--起个名字好难(CC论坛ID) 首发:CocoaChina 记于二零一五 ...

  4. Asp.Net 之 二维码生成

    首先,引用 ThoughtWorks.QRCode.dll . 简单二维码生成及解码代码: //生成二维码方法一 private void CreateCode_Simple(string nr) { ...

  5. name_search方法的使用

    转自:http://blog.csdn.net/littlebo01/article/details/22075573 在many2one类型中,页面下拉时会首先触发name_search方法,参数这 ...

  6. vi语法高亮,自动缩进(转)

    编辑.vimrc 这样文件在其中加入如下两行就可以了,此法对#号提示符下的操作无效. let &termencoding=&encodingset fileencodings=utf- ...

  7. 【DB2】文件导入导出常见命令总结 EXPORT IMPORT LOAD

    参考文献地址:https://blog.csdn.net/reaper1022/article/details/18601973 Db2 的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单 ...

  8. 深入annotation

    目标: 掌握@Target注释 掌握@Document注释 掌握@inherited注释 之前定义的annotation,如果没有明确声明,可以在任何地方使用: package 类集; @MyDefa ...

  9. 【MySQL】玩转定时器

    1.前置条件,你需要将服务器和mysql的时间都设置成东八区,php.ini和my.cnf配置(参考上篇文章) 2.进入mysql客户端,推荐Navicat for mysql 3.首先查看是否开启了 ...

  10. Repository与UnitOfWork引入

    Repository是什么? 马丁大叔的书上同样也有解释:它是衔接数据映射层和域之间的一个纽带,作用相当于一个在内存中的域对象映射集合,它分离了领域对象和数据库访问代码的细 节.Repository受 ...