数据库操作类中 添加一个.net 事务,要怎么写
private static SqlConnection connection; public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["BWHISConnectionString"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
} public static int ExecuteCommand(params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(); cmd.Connection = Connection;
//cmd.Transaction = Trans;
cmd.CommandText = "Pro_UpdateBooksCatagory";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(values);
int result = cmd.ExecuteNonQuery();
return result; throw new Exception(ex.ToString());
}DBHelper 类添加 事务操作
private static SqlConnection connection; public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["BWHISConnectionString"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
} public static int ExecuteCommand(params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(); cmd.Connection = Connection;
//cmd.Transaction = Trans;
cmd.CommandText = "Pro_UpdateBooksCatagory";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(values);
int result = cmd.ExecuteNonQuery();
return result; throw new Exception(ex.ToString());
}DBHelper 类添加 事务操作
public static int ExecuteCommand(string safeSql)
{ SqlCommand cmd = new SqlCommand(safeSql, Connection);
//cmd.Transaction = Trans;
int result = cmd.ExecuteNonQuery();
return result; throw new Exception(ex.ToString()); } public static int ExecuteCommand(string sql, params SqlParameter[] values)
{ SqlCommand cmd = new SqlCommand(sql, Connection);
//cmd.Transaction = Trans;
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
throw new Exception(ex.ToString());
}DAL层 调用DBHelper.ExecuteCommand(sql, para);时 。启动事务, commit rollback
{
con.Open();
SqlTransaction myTran = con.BeginTransaction();
SqlCommand myCom = new SqlCommand();
myCom.Connection = con;
myCom.Transaction = myTran;
try
{
myCom.CommandText = "insert into A values ('测试','111')";
myCom.ExecuteNonQuery();
myTran.Commit();
Response.Write("成功执行");
}
catch (Exception Ex)
{
myTran.Rollback();
Response.Write(Ex.ToString());
Response.Write("写入数据库失败");
}
finally
{
con.Close();
}
}using (TransactionScope transScope = new TransactionScope())
{
}