SqlConnection myConn;
...
SqlTransation myTrans = myConn.BeginTransaction;
...
try
{
myCommand.CommandText = ...;
myCommand.ExecuteNonQuery();
...
myTrans.Commit();
}
catch
{
try
{
myTrans.Rollback();
return;
}
catch
{
return;
}
}if(...)
{
//在这里我需要回滚myTrans,但是因为已经myTrans.Commit();所以不能直接myTrans.Rollback();
}不一定非要这样子写, 只要能有办法达到这个效果就行
...
SqlTransation myTrans = myConn.BeginTransaction;
...
try
{
myCommand.CommandText = ...;
myCommand.ExecuteNonQuery();
...
myTrans.Commit();
}
catch
{
try
{
myTrans.Rollback();
return;
}
catch
{
return;
}
}if(...)
{
//在这里我需要回滚myTrans,但是因为已经myTrans.Commit();所以不能直接myTrans.Rollback();
}不一定非要这样子写, 只要能有办法达到这个效果就行
...
SqlTransation myTrans = myConn.BeginTransaction;
...
try
{
myCommand.CommandText = ...;
myCommand.ExecuteNonQuery();
...
if(...)
{
//在这里我需要回滚myTrans,但是因为已经myTrans.Commit();所以不能直接myTrans.Rollback ();
}else{
myTrans.Commit();
}
}
catch
{
try
{
myTrans.Rollback();
return;
}
catch
{
return;
}
}