• 事务 c#


    事务->:事务是恢复和并发控制的基本单位

                  ->事务具有四个特性:原子性、隔离性、一致性、持久性。这四个特性通常称为ACID

           Begin transaction/tran   --开始事务

           Commit transaction/tran  --提交事务

           Rollback transaction/tran  --回滚事务

    Select * from userinfo with(nolock)       --表示在查询的时候不加共享锁

    一个简单的小案例

    using (SqlConnection conn = new SqlConnection(connStr))

                {

                    conn.Open();

                    //开始事务

                    SqlTransaction ts = conn.BeginTransaction();

                    try

                    {

                        string sql = "insert into BuyRecord(UID,PID,BRNum,BRTime) values(@uid,@pid,@num,@time)";

                        SqlCommand cmd = new SqlCommand(sql, conn);

                        cmd.Transaction = ts;

                        cmd.Parameters.AddWithValue("@uid", brm.UID);

                        cmd.Parameters.AddWithValue("@pid", brm.PID);

                        cmd.Parameters.AddWithValue("@num", brm.BRNum);

                        cmd.Parameters.AddWithValue("@time", DateTime.Now);

                        cmd.ExecuteNonQuery();

                        string uptsql = " update ProductInfo set ProductNum=ProductNum-@buyNum where ProductID=@id";

                        cmd.CommandText = uptsql;

                        cmd.Parameters.AddWithValue("@buyNum", brm.BRNum);

                        cmd.Parameters.AddWithValue("@id", brm.PID);

                        cmd.ExecuteNonQuery();

     

                        ts.Commit();

                        return 1;

                    }

                    catch (Exception)

                    {

                        ts.Rollback();

                        return -1;

                        throw;

                    }

  • 相关阅读:
    Core Data入门
    web前端开发与iOS终端开发的异同
    Blocks编程
    ARC下循环引用的问题
    小项目
    error: /Users/**/Documents/workspace/***/clean_right_normal.png: No such file or directory
    修复NSTextAlignmentCenter引起的警告
    Implicit conversion loses integer precision: 'long long' to 'NSUInteger' (aka 'unsigned int')
    手势相关函数
    implicit declaration of function setxattr is invalid in c99
  • 原文地址:https://www.cnblogs.com/tony-brook/p/7803300.html
Copyright © 2020-2023  润新知