随笔 - 80  文章 - 0  评论 - 32  阅读 - 88285

C# SqlTransaction事务,先从后主

复制代码
 using (SqlConnection connection = new SqlConnection(connectionString))
            {

                //事务启动是通过connection来开启
                connection.Open();
                SqlTransaction trans = connection.BeginTransaction();//开启一个事务
                SqlCommand cmd = new SqlCommand();//利用SqlCommand执行任务
                //为挂起的本地事务将事务对象和连接部分分配给命令对象
                cmd.Connection = connection;
                cmd.Transaction = trans;
                try
                {
                    //删除
                    cmd.CommandText = "delete T_User_Info where  Id='1'";
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Clear();
                    cmd.ExecuteNonQuery();
                    //添加
                    cmd.CommandText = "insert into T_User_Info (Id,Name) values('1','某某')";
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Clear();
                    cmd.ExecuteNonQuery();
                    trans.Commit();//提交事务,代表所有的事务已经提交到数据库
                }
                catch (Exception ex)
                {
                    //catch特定用法,从挂起状态滚回事务
                    trans.Rollback();
                    Console.WriteLine(ex.Message);
                }
                connection.Close();
            }
复制代码

 

posted on   小乐丶  阅读(408)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示