/// <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事务代码的更多相关文章

  1. PHP处理MySQL事务代码

    php使用mysqli进行事务处理 <?php$db = new mysqli("localhost","root",""," ...

  2. Mysql基础代码(不断完善中)

    Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...

  3. MySQL事务的的介绍及使用

    事务的特性 1.原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 2.一致性(Consistency):在一个事务中,事务前后数据的完整性必 ...

  4. mysql事务隔离级别详解和实战

    A事务做了操作 没有提交 对B事务来说 就等于没做 获取的都是之前的数据 但是 在A事务中查询的话 查到的都是操作之后的数据 没有提交的数据只有自己看得到,并没有update到数据库. 查看InnoD ...

  5. 为什么mysql事务回滚后, 自增ID依然自增

    事务回滚后,自增ID仍然增加,回滚后,自增ID仍然增加.比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还 ...

  6. 对mysql事务提交、回滚的错误理解

    一.起因 begin或者START TRANSACTION开始一个事务 rollback事务回滚 commit 事务确认 人们对事务的解释如下:事务由作为一个单独单元的一个或多个SQL语句组成,如果其 ...

  7. mysql 事务隔离级别 详解

    问题 在工作中真实遇到的问题:用python连接mysql,查询数据,同时有别的代码在更新mysql中的数据,前者是一直是保持连接的数据库,每一分钟select一次,但第二次却查不到更新后的数据?wh ...

  8. Golang之Mysql事务

    Mysql事务 )原子性 )一致性 )隔离性 )持久性 示例代码 package main import ( "fmt" _ "github.com/go-sql-dri ...

  9. Hibernate事务代码规范写法

    ----------------siwuxie095 事务相关概念 1.什么是事务 逻辑上的一组操作,构成这组操作的各个单元,要么一起成功, 要么一起失败 2.事务的四个特性 1)原子性 2)一致性 ...

随机推荐

  1. SpringBoot中注入RedisTemplate实例异常解决(转)

    最近,在项目开发过程中使用了RedisTemplate,进行单元测试时提示“Field redisTemplate in com.example.demo1.dao.RedisDao required ...

  2. SpringBoot对接收及返回Instant类型的处理(转)

    一:处理post请求json中的Instant类型1.springboot中日期格式化配置: spring: jackson: date-format: yyyy-MM-dd HH:mm:ss tim ...

  3. [学习笔记] 可持久化线段树&主席树

    众所周知,线段树是一个非常好用也好写的数据结构, 因此,我们今天的前置技能:线段树. 然而,可持久化到底是什么东西? 别急,我们一步一步来... step 1 首先,一道简化的模型: 给定一个长度为\ ...

  4. Win7安装VS2019

    SP1 补丁 WIN7安装VS2019需要更新两个补丁才能顺利安装,否则会闪退. KB4474419 KB4490628 https://zhidao.baidu.com/question/18026 ...

  5. Python之asyncio模块的使用

    asyncio模块作用:构建协程并发应用的工具 python并发的三大内置模块,简单认识: .multiprocessing:多进程并发处理 .threading模块:多线程并发处理 .asyncio ...

  6. VirtualBox:启动虚拟机后计算机死机

    造冰箱的大熊猫@cnblogs 2018/2/21 故障描述:Ubuntu 16.04升级Linux内核后,在VirtualBox中启动虚拟机发现Ubuntu死机,只能通过长按电源开关硬关机的方式关闭 ...

  7. 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题

    一.准备工作: 1.下载OpenCV安装包:https://github.com/opencv/opencv 安装过程实际上就是解压过程,安装完成后得到(这里修改了文件名): 2.下载opencv_c ...

  8. curl: (35) Server aborted the SSL handshake 解决办法

    # 先删除curl brew uninstall curl # 重新安装curl,带上--with-openssl brew install curl --with-openssl # 然后重启下ph ...

  9. 使用fiddler实现手机抓包

    手机上无法直接查看网络请求数据,需要使用抓包工具.Fiddler是一个免费的web调试代理,可以用它实现记录.查看和调试手机终端和远程服务器之间的http/https通信. fiddler没有手机客户 ...

  10. Minimal Labels

    Minimal Labels 这个题需要用到拓扑排序的思维,但是这个题还有一个条件--字典序最小,因此可以用一个递增的优先队列来维护,每找到一个入度为 0 的点就把它 push 进去因而每一次判断的点 ...