Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Transacciones con Interbase 6 / IBX Express

¿Necesitas saber cómo implementar transacciones usando Interbase 6 e IBX Express y no morir en el intento?

Pues como consejo, en tu datamodule pega un componente TIBDatabase, uno TIBTransaction y finalmente un TIBTable o cualquier TIBDataSet.

Conecta IBDatabase1 con IBTransaction1 a traves de DefaultTransaction y DefaultDatabase. Configurá IBDatabase1 par que apunte a tu base de datos (archivo.gdb, usuario y password).

Despues conecta IBTable1 con IBDatabase1 y automáticamente se conectará con IBTransaction1. Seleccioná una tabla.

¿Hasta aquí todo bien?

Entonces, seguimos. Ahora pegá un botón (el que más guste) para el Commit y otro para el Rolback. Pegá una grilla enlazada a un DataSource y éste enlazado a la tabla para que veas el resultado.

Asigná los métodos DataModule1.IBTransaction1.Commit y DataModule1.IBTransaction1.Rollback a cada botón (en el evento OnClick, por supuesto y chequendo que exista una transacción activa: DataModule1.IBTransaction1.InTransaction).

Abrí la tabla, efectuá cualquier operación y probá de usar estos botones.

¿El resultado?: Las tablas simplemente se cierran.

Agregá entonces en el evento de la tabla AfterTransactionEnd: IBTable1.Open;

¿El efecto?: Se produce una excepción.

¿Entonces?, modificá el evento AfterTransactionEnd para que quede:

Código Delphi [-]
IBTransaction1.Active := True;
IBTable1.Open;

y además agregá la línea IBTransaction1.Active := True; antes de abrir cualquier tabla.

!Y no morirás en el intento!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:29:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi