建筑图纸网站,哪个酒店网站做的好看的,别人做的网站需要提供些什么给我们,有没有做二手设备网站在发布System.Transaction命名空间之前#xff0c;可以直接用ADO.NET创建事务#xff0c;也可以通过组件、特性和COM运行库(位于System.EnterpriseServices命名空间中)进行事务处理。本文如题所示#xff0c;介绍在这些传统事务处理方式中较为简单的“ASP.NET事务”。在传统…在发布System.Transaction命名空间之前可以直接用ADO.NET创建事务也可以通过组件、特性和COM运行库(位于System.EnterpriseServices命名空间中)进行事务处理。本文如题所示介绍在这些传统事务处理方式中较为简单的“ASP.NET事务”。在传统的ADO.NET事务中如果没有手动创建事务每条SQL语句就都是一个事务。如果多条SQL语句应参与到同一个事务处理中就必须手动创建一个事务。下面通过一个示例演示在MySql中建立如下表插入数据如下ADO.NET事务测试代码using(MySqlConnection conn new MySqlConnection(GetConnection())){conn.Open();//启动一个事务using(MySqlTransaction transaction conn.BeginTransaction()){using (MySqlCommand cmd conn.CreateCommand()){try{cmd.Transaction transaction; //为命令指定事务cmd.CommandText INSERT INTO tb_user(UserId,UserName) VALUE(Id0009,Name0002);;cmd.ExecuteNonQuery();cmd.CommandText INSERT INTO tb_user(UserId,UserName) VALUE(Id0008,Name0003);;cmd.ExecuteNonQuery();transaction.Commit(); //事务提交Response.Write();}catch(Exception ex){transaction.Rollback(); //事务回滚Response.Write(ex.Message);Response.Write();}}}}代码分析如示例代码手动创建ADO.NET事务步骤如下1)使用MySqlConnection类的BeginTransaction()方法返回一个MySqlTransaction类型的对象2)使用MySqlCommand类对象的Transaction属性将要参与事务处理的每条命令关联到上一不返回的MySqlTransaction类型的对象上3)如果事务可以成功完成使用MySqlTransaction对象的Commit()方法提交事务处理结果4)如果事务处理中发生错误就调用MySqlTransaction对象的Rollback()方法撤销每一个修改。ADO.NET事务的缺点;ADO.NET事务只能处理关联到一个连接上的本地事务不支持跨多个连接的事务。(为了克服这一缺点下一节将介绍基于System.Transaction命名空间的分布式事务)。