事务处理的方法
事务处理的方法:
一. 直接写入sql
create procedure sqlaction
as
begin
declare @error int
delete from tuser where username='龚许'
select @error=@@error
if @error=0
commit tran
else
rollback tran
end
go
SqlConnection conn = new SqlConnection(conStr);
conn.Open();
SqlCommand cmd = new SqlCommand(conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sqlaction";
cmd.ExecuteNonQuery();
conn.Close();
二. ADO.NET事务处理
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(conn);
conn.Open();
SqlTransaction myTran = conn.BeginTransaction();
cmd.Transaction = myTran;
try
{
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (110, 'Description')";
myCommand.ExecuteNonQuery();
//myTrans.Commit();
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (111, 'Description')";
myCommand.ExecuteNonQuery();
myTrans.Commit();
Response.Write("成功写入记录!");
}
catch(Exception Ex)
{
myTrans.Rollback();
Response.Write(Ex.ToString());
Response.Write("写入数据库失败!");
}
finally
{
myConnection.Close();
}