Hola,
tengo el siguiente código sobre transacciones:
[C#]
SqlConnection myConnection = new SqlConnection("Data
Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
myConnection.Open();
// Start a local transaction.
SqlTransaction myTrans = myConnection.BeginTransaction();
// Enlist the command in the current transaction.
SqlCommand myCommand = myConnection.CreateCommand();
myCommand.Transaction = myTrans;
try
{
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription)
VALUES (100, 'Description')";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription)
VALUES (101, 'Description')";
myCommand.ExecuteNonQuery();
myTrans.Commit();
Console.WriteLine("Both records are written to database.");
}
catch(Exception e)
{
myTrans.Rollback();
Console.WriteLine("Error: {1}", e.Message);
Console.WriteLine("Error reported by {1}.", e.Source);
Console.WriteLine("El dinero no ha sido tranferido.");
Response.Write(e.ToString());
}
finally
{
myConnection.Close();
}
me gustaria saber si donde pone:
// Enlist the command in the current transaction.
SqlCommand myCommand = myConnection.CreateCommand();
myCommand.Transaction = myTrans;
se puede poner:
// Enlist the command in the current transaction.
SqlCommand myCommand = new SqlCommand();
myCommand.Transaction = myTrans;
Un cordial saludo y muchas gracias
Leer las respuestas