【批量加入】-拼接sql字符串
如今做的一个项目须要用到批量加入,可是封装的底层没有这种方法,所以自食其力,自己来写。我们用的是拼接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字符串的更多相关文章
- 【批量添加】-拼接sql字符串 标签: 批量添加 2015-12-13 17:49 2070人阅读 评论(33)
现在做的一个项目需要用到批量添加,但是封装的底层没有这个方法,所以自食其力,自己来写.我们用的是拼接sql字符串的方法来实现功能. 具体实现流程:首先将需要的数据存储到实体的list中,然后将这个li ...
- 通过拼接SQL字符串实现多条件查询
一.通过拼接SQL字符串的方法的好处是: 1.方便查询条件的扩展. 2.简化业务逻辑的判断. 二.例子: 1.界面设计 2.点击查询的代码 /// <summary> /// 按条件查询 ...
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and a ...
- EF架构~过滤导航属性等,拼接SQL字符串
拼接T-SQL串,并使它具有通用性 好处:与服务器建立一次连接,给服务器发一条SQL命令,即可实现 代码如下: 1 /// <summary> 2 /// 构建Insert语句串 3 // ...
- MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)
官方好像说过limit已经在5.6版本上支持了动态参数,但是测试时依然还是不行. 那么要解决limit动态参数唯一能做的就是使用字符串SQL拼接的形式,然后再进行执行. 一般有以下方式解决: 1.存储 ...
- 存储过程中拼接SQL语句
很多时候我们需要利用参数在存储过程中重新组织SQL语句,在存储过程中拼接的SQL语句只是一个字符串,不会被直接执行,所以加一个execute执行它就可以了.具体看如下演示代码: 代码: set ANS ...
- Python 字符串拼接 sql ,造成 sql 注入例子
简单的 userinfo 表 字符串拼接 sql import pymysql # 测试环境的数据库连接 conn = pymysql.connect(host='192.168.0.214', po ...
- 解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题
今天遇到了一个奇葩的问题:存储过程中的sql字符串拼接的太长,超出了分页存储过程执行sql参数的nvarchar(4000)的长度. 没办法,只能修改自己的存储过程,因为分页存储过程是不能动的. 开始 ...
- 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式
导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...
随机推荐
- iOS 使用腾讯地图显示用户位置注意事项
1. 向 target中info 加入 NSLocationWhenInUseUsageDescription,string 类型.值是描写叙述为什么须要用户位置,这句话会出如今 提示用户是否同意a ...
- SVG路径字符串格式
命令 名称 参数 M 移动到(moveTo) (x y)+ Z 闭合路径(closepath) (none) L 直线(lineTo) (x y)+ H 水平直线 x+ V 垂直直线 y+ C 曲线( ...
- Android异步载入全解析之大图处理
Android异步载入全解析之大图处理 异步载入中很重要的一部分就是对图像的处理,这也是我们前面用异步载入图像做示例的原因. 一方面是由于图像处理不好的话会很占内存,并且easyOOM,还有一方面,图 ...
- Java中equals()、equalsIgnoreCase()和==的区别
用久了C#,在Java中,判断一个字符串还是习惯性的用了==,但是总是不能按照正确的判断分支运行,后来才想起来Java中是有equals的,然后就有引出了equalsIgnoreCase. 这三种 ...
- ffmpeg与TS
http://blog.csdn.net/shuyong1999/article/details/7176329 一个不错的音视频博客 0. 简介 FFmpeg是一个集录制.转换.音/视频编码解码功能 ...
- 保存登陆username和password
在一些软件中登陆时保存username和password是常见的功能,它实现起来也特别简单,其原理就是在点击登陆button时推断是否勾选保存password选项,假设勾选,则在内存中保存一份包括us ...
- RAC环境下的堵塞(blocking blocked)
RAC环境下的堵塞不同于单实例情形,由于我们须要考虑到位于不同实例的session.也就是说之前查询的v$session,v$lock对应的应变化为全局范围来查找.本文提供了2个查询脚本,并给出实例演 ...
- Android ANR发生原因总结
ANR(Application Not Responding) Android系统中应用无响应 是Android系统中比较常见的问题,当出现ANR时一般情况会弹出一个带有以下文字的对话框提示: Act ...
- java 有用的类库
import org.apache.commons.lang.StringUtils; 字符串库
- 如何监控MYSQL消耗服务器资源
http://258xiaolei-sina-com.iteye.com/blog/764665 启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_ti ...