1.ADO.net
using(Sqlconnection con = new SqlConnection(constr))
{
SqlTransaction transaction;
try{
con.Open();
transactiom = con.BeginTransacton();
SqlCommand cmd = new SqlCommand();
com.Connection = con;
cmd.Transaction = transaction;
cmd.CommandText="Sql1";
cmd.ExecuteNonQuery();
transaction.Commit();
Console.Write("successeful");
}
catch {
transaction.Rollback();
Console.WriteLine("failed");
}
}
2.直接写入到sql 中 使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 实现:
例如
BEGIN TRANS
DECLARE @orderDetailsError int, @productError int
DELETE FROM /"Order Details/" WHERE ProductID=42
SELECT @orderDetailsError = @@ERROR
DELETE FROM Products WHERE ProductID=42
SELECT @productError = @@ERROR
IF @orderDetailsError = 0 AND @productError = 0
COMMIT TRANS
ELSE
ROLLBACK TRANS
这种方法比较简单,具体可以查阅相关sql server 帮助
No comments:
Post a Comment