事务应用-运行多条SQL语句
事务具有原子性,要么不运行,要么全运行,一旦成功运行永久保存.而这些正是因为事务的原子性和对数据库的持久性形成的.下面是一个关于统一给数据库中的数据改动的批量操作,利用到事务.
TODO:批量改动数据库中的数据
CODE:
#region ExtensionMethod
/// <summary>
/// 依据学号来给指定的学生加分-陈方林-2014年3月22日15:17:59
/// </summary>
/// <param name="strStudentNoScore">用来加分的sql语句</param>
/// <returns>返回运行的结果</returns>
public bool TeaGiveScores(string[] strStudentNoScore) { //打开数据库连接
sqlcon.Open();
//声明sql事务
SqlTransaction myTrans;
//sql命令对象
SqlCommand mycmd = new SqlCommand();
//声明命令对象的连接数据库
mycmd.Connection = sqlcon;
//开启事务
myTrans = sqlcon.BeginTransaction();
//设置将在命令对象中运行的事务
mycmd.Transaction = myTrans;
try
{
//遍历字符串数组中的sql语句
for (int i = 0; i < strStudentNoScore.Length; i++)
{
mycmd.CommandText = strStudentNoScore[i]; int r =mycmd.ExecuteNonQuery();
}
//事务提交
myTrans.Commit();
return true;
}
catch (Exception)
{
//运行错误,事务回滚
if (myTrans != null)
myTrans.Rollback();
return false;
}
finally
{
//关闭连接
if (sqlcon != null)
sqlcon.Close();
} }
#endregion ExtensionMethod
总结
事务操作大致有(温故)
BeginTrans:開始事务
CommitTrans:提交事务
RollBackTrans:回滚事务
主要是对于数据处理的一个好的封装,作为处理的单元。结合sql经常使用的几个对象,来处理多行sql语句。
事务应用-运行多条SQL语句的更多相关文章
- jmeter 中如何一次运行多条sql语句
在jmeter测试mysql中如何一次运行多条sql语句 allowMultiQueries=true 注意:太低版本的mysql和jdbc不支持,最好用最新版的
- jmeter中一次运行多条sql语句
操作比较简单,主要就分两步: 第一步:在JDBC Connection Configuration中设置,主要见下图标注部分增加:?allowMultiQueries=true 第二步:在JDBC R ...
- C#实现执行多条SQl语句,实现数据库事务
C#实现执行多条SQl语句,实现数据库事务 在数据库中使用事务的好处,相信大家都有听过银行存款的交易作为事务的一个例子.事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的 ...
- 执行多条SQL语句,实现数据库事务(不可传入Sql参数)
执行多条SQL语句,实现数据库事务(不可传入Sql参数) http://blog.csdn.net/hanxuemin12345/article/details/9980371
- 52 条 SQL 语句性能优化策略,建议收藏
本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行nul ...
- Spring 中jdbcTemplate 实现执行多条sql语句
说一下Spring框架中使用jdbcTemplate实现多条sql语句的执行: 很多情况下我们需要处理一件事情的时候需要对多个表执行多个sql语句,比如淘宝下单时,我们确认付款时要对自己银行账户的表里 ...
- java执行多条SQL语句
一次执行多条SQL的技术要点如下: DatabaseMetaData接口是描述有关数据库的整体综合信息,由于DatabaseMetaData是接口,所以没有构造方法,故不能使用new来创建Databa ...
- mysql(1)—— 详解一条sql语句的执行过程
SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言,SQL语言是脚本语言,直接运行在数据库上.同时,SQL语句与数据在数据库上的存储方式无关,只是不同的数据库对于同一条SQL ...
- 【转载】详解一条sql语句的执行过程
转载自 https://www.cnblogs.com/cdf-opensource-007/p/6502556.html SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言 ...
随机推荐
- 用反射,将DataRow行转为Object对象
/// <summary> /// 反射辅助类 /// </summary> public class ReflectionHelper { /// <summary&g ...
- COCOS2D-X之圆形进度条的一个简单Demo
这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添 ...
- oc 可变參数传递
- (id)initWithFrame:(CGRect)frame delegate:(id<SGFocusImageFrameDelegate>)delegate focusImageI ...
- C#.Net操作XML方法二
上面那篇博客,在上面那面博客中是通过System.Xml命名空间中的类来实现对XML文件的创建.删除和改动等操作.接下来再介绍一种方法,在整个的操作过程中,仅仅只是换了个类而已,没什么大惊小怪的. D ...
- Linux下mpi环境配置与执行步骤(Ubuntu为例)
转载注明出处: http://blog.csdn.net/bendanban/article/details/9136755 以两台计算机为例,将这两台计算机应用于MPI运行环境. 第一步:在两台机器 ...
- 表单提交复选框(checkbox)注意事项
例子: <form action="a.php" method="post"> <input type="checkbox" ...
- linux中段错误的处理
在 Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fau ...
- hdu4726贪心
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- select的种种取值
今天别人问我一个问题 <body> <select id="tests" onchange="test()"> <option & ...
- char *和char[]的区别,困扰很长时间了,总结下
char c1[] = "hello";// char *c2 = "hello";// 区别1: c1是一个局部数组,c2是一个全局数组. 局部数组c1是局部 ...