Les deux sont équivalents. L'utilisation d'un objet SqlTransaction vous permet de placer la transaction dans un using
portée :
using(SqlTransaction trn = conn.BeginTransaction ())
{
...
trn.Commit ();
}
C'est un meilleur modèle en présence d'exceptions.