MySQL事务支持多少条sql语句_教您用事务一次处理多条SQL语句

下面就将为您介绍如何使用事务一次处理多条SQL语句的方法,包括SQL中事务的写法以及调用的方法供您参考,希望对您学习SQL语句的执行能够有所帮助。

执行一个操作时,要同时修改多张表里的数据,并且每条数据都必须操作成功,才算执行成功,为了防止有些数据操作失败,有些成功,而造成的数据错乱,我们要使用事务。

事务就是:只有所有操作都成功则成功,只要有一条数据操作失败,则回滚。

后台写事务:

///

/// 执行多条SQL语句,实现数据库事务。

/// access数据库

/// 多条SQL语句

public static void ExecuteSqlTran(List SQLStringList)

{

using (OleDbConnection conn = new OleDbConnection(SqlHelper.ConString))

{

conn.Open();

OleDbCommand cmd = new OleDbCommand();

cmd.Connection = conn;

OleDbTransaction tx = conn.BeginTransaction();

cmd.Transaction = tx;

try

{

for (int n = 0; n < SQLStringList.Count; n++)

{

string strsql = SQLStringList[n].ToString();

if (strsql.Trim().Length > 1)

{

cmd.CommandText = strsql;

cmd.ExecuteNonQuery();

}

}

tx.Commit();

}

catch (System.Data.OleDb.OleDbException E)

{

tx.Rollback();

throw new Exception(E.Message);

}

}

}

///

/// 执行多条SQL语句,实现数据库事务。

/// sql2000数据库

/// 多条SQL语句

public static void ExecuteSqlTran(List SQLStringList)

{

using (SqlConnection conn = new SqlConnection(SqlHelper.ConString))

{

conn.Open();

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

SqlTransaction tx = conn.BeginTransaction();

cmd.Transaction = tx;

try

{

for (int n = 0; n < SQLStringList.Count; n++)

{

string strsql = SQLStringList[n].ToString();

if (strsql.Trim().Length > 1)

{

cmd.CommandText = strsql;

cmd.ExecuteNonQuery();

}

}

tx.Commit();

}

catch (System.Data.SqlClient.SqlException E)

{

tx.Rollback();

throw new Exception(E.Message);

}

}

}

前台调用:

try

{

//1.查出会员余额

decimal usermoney = SqlDal.EntityUserinfo.GetModel(int.Parse(cookieUserID)).Money;

//2.修改余额

decimal Zmoney = usermoney + moAD.Commission;

//写SQL语句

List SQLStringList = new List();

string clickSql = "insert into [user] (name,age)values('" + 小名 + "','“+4岁+”')";

string userSql = "update [class] set [name]='" + 幼儿园 + "' where id=" + 2 + " ";

SQLStringList.Add(clickSql);

SQLStringList.Add(userSql);

SqlDal.SqlHelper.ExecuteSqlTran(SQLStringList);

//数据库操作成功

//提示

CommonClass.Xmls xmls1 = new CommonClass.Xmls();

string path1 = CommonClass.Unit.GetMapPath(@"/Admin/Configs/SysSettingInfo.config");

string ClickTishi = xmls1.GetXmlNode(path1, "SysSettingInfo/ClickTishi");

//替换字符

ClickTishi = ClickTishi.Replace("[$]", moAD.Commission.ToString("0.00"));

context.Response.Write(ClickTishi); //输出

}

catch (Exception ex)

{

//Response.Write(ex.Message);

context.Response.Write("操作失败!" + ex.Message); //输出

}

【编辑推荐】

【责任编辑:段燃 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值