做项目时需要实现数据库的事务,觉得每次用SqlTransaction 写代码,太麻烦了,就想总结一个通用的方法放在数据层,以便复用.就自己写了简单的方法.可满足一般情况下的需求.:)
同时执行两条SQL语句的方法:
public
static
void
ExecuteSqlTran(
string
SQLString1,
string
SQLString2)
... {
using (SqlConnection conn = new SqlConnection(strDBConnectionString))
...{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection=conn;
SqlTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
...{
cmd.CommandText=SQLString1;
cmd.ExecuteNonQuery();
cmd.CommandText=SQLString2;
cmd.ExecuteNonQuery();
tx.Commit();
}
catch(System.Data.SqlClient.SqlException E)
...{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
... {
using (SqlConnection conn = new SqlConnection(strDBConnectionString))
...{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection=conn;
SqlTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
...{
cmd.CommandText=SQLString1;
cmd.ExecuteNonQuery();
cmd.CommandText=SQLString2;
cmd.ExecuteNonQuery();
tx.Commit();
}
catch(System.Data.SqlClient.SqlException E)
...{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
如果有多条SQL语句需要放在一个事务里实现执行,就用下面这个方法:方法虽然简单,但确实省了不少时间:)