Welcome

首页 / 网页编程 / ASP.NET / asp.net创建事务的方法

1、建立List用于存放多条语句
/// <summary>/// 保存表单/// </summary>/// <param name="context"></param>protected void save(){ List<string> list = new List<string>(); list.Add(string.Format("insert into picsone(model,idser,idflg,lmuser,lmdate,lmtime) values("{0}","{1}","{2}","{3}",{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025)); list.Add(string.Format("insert into picstwo(model,idser,idflg,lmuser,lmdate,lmtime) values("{0}","{1}","{2}","{3}",{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025)); bool bol = ExecuteTransaction(list); if (bol) {MessageBox.Show("保存成功!"); } else {MessageBox.Show("保存失败!"); }}
2、调用ExecuteTransaction方法,并返回返回值true为成功,false为失败,语句并回滚
/// <summary>/// 执行语句/// </summary>/// <param name="list"></param>/// <returns></returns>private bool ExecuteTransaction(List<string> list){ using (SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["LocalConnectionString"].ToString())) {SqlCommand command = new SqlCommand();SqlTransaction transaction = null;try{ connection.Open(); transaction = connection.BeginTransaction(); command.Connection = connection; command.Transaction = transaction;for (int i = 0; i < list.Count; i++) {command.CommandText = list[i];command.ExecuteNonQuery(); }transaction.Commit(); connection.Close(); return true;}catch{ transaction.Rollback(); connection.Close(); return false;} }}