zl程序教程

您现在的位置是:首页 >  后端

当前栏目

c#实现sqlserver事务处理示例

c#SQLServer 实现 示例 事务处理
2023-06-13 09:15:15 时间

复制代码代码如下:


privatestaticvoidExecuteSqlTransaction(stringconnectionString)
   {
       using(SqlConnectionconnection=newSqlConnection(connectionString))
       {
           connection.Open();
           SqlCommandcommand=connection.CreateCommand();
           SqlTransactiontransaction;
           //Startalocaltransaction.
           transaction=connection.BeginTransaction("SampleTransaction");
           //Mustassignbothtransactionobjectandconnection
           //toCommandobjectforapendinglocaltransaction
           command.Connection=connection;
           command.Transaction=transaction;
           try
           {
               command.CommandText="InsertintoRegion(RegionID,RegionDescription)VALUES(100,"Description")";
               command.ExecuteNonQuery();
               command.CommandText= "InsertintoRegion(RegionID,RegionDescription)VALUES(101,"Description")";
               command.ExecuteNonQuery();
               //Attempttocommitthetransaction.
               transaction.Commit();
               Console.WriteLine("Bothrecordsarewrittentodatabase.");
           }
           catch(Exceptionex)
           {
               Console.WriteLine("CommitExceptionType:{0}",ex.GetType());
               Console.WriteLine(" Message:{0}",ex.Message);
               //Attempttorollbackthetransaction.
               try
               {
                   transaction.Rollback();
               }
               catch(Exceptionex2)
               {
                   //Thiscatchblockwillhandleanyerrorsthatmayhaveoccurred
                   //ontheserverthatwouldcausetherollbacktofail,suchas
                   //aclosedconnection.
                   Console.WriteLine("RollbackExceptionType:{0}",ex2.GetType());
                   Console.WriteLine(" Message:{0}",ex2.Message);
               }
           }
       }
   }