• 事务


    属性:

    1.原子性:事务是一个完整的操作,事务的各元素师不可分的。

    2.一致性:事务开始时和完成时,数据必须处于一致的状态。

    3.隔离性:对数据进行修改的所有并发事务是彼此隔离的。

    4.持久性:事务完成后,它对系统的影响是永久的。

    ?

    Transact-SQL使用下列语句来管理事务:

    开始事务:BEGIN TRANSACTION

    提交事务:COMMIT TRANSACTION

    回滚:ROLLBACK TRANSACTION

       public bool SendMessage(Msg_InBoxMessageModel inmodel, Msg_OutBoxMessageModel outmodel, Msg_MessageModel model)

            {

                try

                {

                    using (SqlConnection conn = new SqlConnection(DBConnString))

                    {

                        conn.Open();

                        SqlTransaction trans = conn.BeginTransaction();

                        if (!Create(model, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

                        inmodel.MessageId = model.Id;

                        if (!DALControl.Msg_InBoxMessageDAL.Create(inmodel, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

                        outmodel.MessageId = model.Id;

                        if (!DALControl.Msg_OutBoxMessageDAL.Create(outmodel, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

     

                        trans.Commit();

                    }

                    return true;

                }

                catch (Exception ex)

                {

                    log.Error(ex.Message, ex);

                    return false;

                }

     

            }

    两个数据库连接可以用同一个事务

    1.
    事务开始
    update db1.tb1 --成功
    update db2.tb2 --成功
    事务提交
    2.
    update db1.tb1 --成功
    update db2.tb2 --失败
    db1的操作回滚,不更新
    3.
    update db1.tb1 --失败
    update db2.tb2 --不操作
  • 相关阅读:
    Android listview 的应用
    Android 创建自定义布局
    Android Dialog
    android ProgressBar
    Lilac Pwn stack4-stack_pivoting Writeup
    CTFHUB Pwn ret2shellcode Writeup
    Lilac Pwn stack3-rop Writeup
    函数调用过程与栈帧结构
    线性回归及Python实现
    Google Kick Start Round A 2020
  • 原文地址:https://www.cnblogs.com/viaiu/p/4816768.html
Copyright © 2020-2023  润新知