Mysql事务代码
/// <summary>
/// 删除相册
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool DeleAblumsById(long id)
{
int photo_Result = , ablums_Result = ;
string strSql_Photo = "delete from tb_photo where albumsId=" + id;
string strSql_Ablums = "delete from tb_albums where id=" + id;
MySqlTransaction tran = null;
MySqlCommand com = null;
MySqlConnection conn = null;
try
{
conn = new MySqlConnection(_ConnectionString);
conn.Open();
tran = conn.BeginTransaction();
com = new MySqlCommand(strSql_Photo, conn, tran);
photo_Result = com.ExecuteNonQuery(); com = new MySqlCommand(strSql_Ablums, conn, tran);
ablums_Result = com.ExecuteNonQuery();
if (photo_Result >= && ablums_Result > )
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
}
finally
{
tran.Dispose();
conn.Close();
}
return photo_Result >= && ablums_Result > ;
}
public static int ExecuteNonQuery(List<KeyValuePair<String, IEnumerable<MySqlParameter>>> strList, string connectionString)
{
int count = ;
using (MySqlConnection con = new MySqlConnection(connectionString))
{
con.Open();
MySqlTransaction tran = con.BeginTransaction();
MySqlCommand comm = new MySqlCommand();
comm.Connection = con;
comm.Transaction = tran;
try
{
strList.ForEach(o =>
{
comm.CommandText = o.Key;
IEnumerable<MySqlParameter> para = o.Value;
if (para != null)
{
foreach (var pa in para)
comm.Parameters.Add(pa);
}
count += comm.ExecuteNonQuery();
comm.Parameters.Clear();
});
tran.Commit();
return count;
}
catch (Exception)
{
tran.Rollback();
return count;
}
}
}
Mysql事务代码的更多相关文章
- PHP处理MySQL事务代码
php使用mysqli进行事务处理 <?php$db = new mysqli("localhost","root",""," ...
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
- MySQL事务的的介绍及使用
事务的特性 1.原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 2.一致性(Consistency):在一个事务中,事务前后数据的完整性必 ...
- mysql事务隔离级别详解和实战
A事务做了操作 没有提交 对B事务来说 就等于没做 获取的都是之前的数据 但是 在A事务中查询的话 查到的都是操作之后的数据 没有提交的数据只有自己看得到,并没有update到数据库. 查看InnoD ...
- 为什么mysql事务回滚后, 自增ID依然自增
事务回滚后,自增ID仍然增加,回滚后,自增ID仍然增加.比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还 ...
- 对mysql事务提交、回滚的错误理解
一.起因 begin或者START TRANSACTION开始一个事务 rollback事务回滚 commit 事务确认 人们对事务的解释如下:事务由作为一个单独单元的一个或多个SQL语句组成,如果其 ...
- mysql 事务隔离级别 详解
问题 在工作中真实遇到的问题:用python连接mysql,查询数据,同时有别的代码在更新mysql中的数据,前者是一直是保持连接的数据库,每一分钟select一次,但第二次却查不到更新后的数据?wh ...
- Golang之Mysql事务
Mysql事务 )原子性 )一致性 )隔离性 )持久性 示例代码 package main import ( "fmt" _ "github.com/go-sql-dri ...
- Hibernate事务代码规范写法
----------------siwuxie095 事务相关概念 1.什么是事务 逻辑上的一组操作,构成这组操作的各个单元,要么一起成功, 要么一起失败 2.事务的四个特性 1)原子性 2)一致性 ...
随机推荐
- 5天noip训练心得
day1 100+95+0=195 T1 二分答案,并查集,很像noip2017 day2 T1 T2 缩环,然后数据结构维护求答案,貌似也是原题 T3 树形dp,比赛上没有做出来, day2 90+ ...
- 【WinForm-TreeView】实现Win7 Areo效果
效果图: 新建一个继承自TreeView的控件类,代码如下: using System; using System.Windows.Forms; using System.Drawing; using ...
- UI案例
<Window x:Class="WpfDemo2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/20 ...
- Mockito 2 参数匹配器
Mockito 通过使用 equals() 这种自然的 Java 样式来校验参数值.有时候,当需要有其他一些灵活性的时候,你可能会要求使用参数匹配(argument matchers). 请参考下面的 ...
- ACM-ICPC 2018 沈阳赛区网络预赛 G Spare Tire (素因子分解+容斥)
. 样例输入复制 4 4 样例输出复制 14 #include<bits/stdc++.h> using namespace std; typedef long long ll; cons ...
- 自定义MessageConverter--消息转换器
我们在进行发送消息的时候,正常情况下消息体为二进制的数据方式进行传输,如果希望内部帮我们进行转换,或者指定自定义的转换器,就需要用到MessageConverter 自定义常用转换器:MessageC ...
- MySQL_(Java)使用preparestatement解决SQL注入的问题
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL数据库中的数据,数据库名garysql,表名gar ...
- Vue_(基础)Vue中的事件
Vue.js中文文档 传送门 Vue@事件绑定 v-show:通过切换元素的display CSS属性实现显示隐藏: v-if:根据表达式的真假实现显示隐藏,如果隐藏,它绑定的元素都会销毁,显示的时候 ...
- kali随便写 kali更新源配置
./ +文件目录 是执行文件的意思 kali修改更新源及更新 进入源文件进行修改 leafpad /etc/apt/sources.list (其实系统本身就自带了更新源,去掉其注释也是可以的,现在 ...
- EasyUI中对于Grid的隐藏与显示
$('#div_Grid').datagrid('hideColumn', 'mtnDate'); $('#div_Grid').datagrid('showColumn', 'mtnDate');