Consultoría Informática: Programas a medida, Páginas web, Tiendas Online, Posicionamiento en Internet (SEO), Accesibilidad, Usabilidad...

  • Imagen del logo de twitter
  • Imagen del logo de facebook

Transacciones en MySql

WebProgramacion > Programacion > C# > Transacciones en MySql

C#

En el siguiente ejemplo vamos a ver cómo podemos realizar una transacción en MySql. Lo implementaremos en C#.

Para ello vamos a ver el siguiente supuesto: Damos de alta un registro y necesitamos obtener el identificador que le ha correspondido al campo ID (clave primaria de la tabla, y autonumérico). Para ello tendremos un TableAdapter con los siguientes dos métodos:

  • addRegistro
  • getUltimoID

El motivo de usar transacciones en este supuesto, es para saber con exactitud que el ID que nos facilita el método getLastID es el producido por la llamada al método getUltimoID y no otra llamada concurrente que se haya podido producir.

Inicialmente debemos habilitar el adaptador para permitir transacciones.

Implementaremos un método de ejemplo llamado addRegistro que constará del siguiente código:

public static Int64 addRegistro(String texto)
{
   try
   {
      
      dsEjemploTableAdapters.ejemploTableAdapter adaptador
         = new Datos.dsEjemploTableAdapters.ejemploTableAdapter();
      //Abrimos la conexión
      adaptador.Connection.Open();
      //Iniciamos la transacción
      MySqlTransaction trans = adaptador.Connection.BeginTransaction();
      //Realizamos el alta en la tabla ejemplo
      adaptador.addRegistro("Hola mundo");
      Int64 last_id;
      //Obtenemos el ID correspondiente
      last_id = adaptador.getLastId().Value;
      //Validamos la transacción
      trans.Commit();
      return (last_id);
   }
   catch (Exception exc)
   {
      //Si algo falla, devolvemos -1
      return -1;
   }
}

Autor del artículo

Dámaso Velázquez

Compartir

  • Programas a medida
  • Accesibilidad
  • Presencia en Internet
  • Tiendas online