PDA

Ver la Versión Completa : Urgente - problema de insertar en tabla - Transaccion Activa


Patricio
24-06-2005, 15:48:00
Hola amigos que tal

primero el foro esta re bueno

ahora les cuento mi problema, tengo un sistema en Delphi 5 y Interbase, el sistema lo probe en mi maquina y parece que funciona, ahora cuando lo pruebo en red, al ingresar en una tabla me dice que "no puede ingresar porque hay una transaccion activa por otro usuario" el esquema de codigo que yo utilizo para hacer el alta es el siguiente

BasedeDatos.StarTransaccion;

Tabla.Inmsert;
Tabla.Campos := Valor;
Tabla.Post

BasedeDatos.Commit

si a alguien le paso lo mismo me gustaria que me diga como hacer para que puedan ingresar desde varias maquinas sin que en algun momento salte este error

Saludos

Aztaroth
25-06-2005, 00:05:42
Primero hay que verificar si no hay transaccion activa



if not BasedeDatos.InTransaction then BasedeDatos.StarTransaccion;

try

Tabla.Inmsert;
Tabla.Campos := Valor;
Tabla.ApplyUpdates;
BasedeDatos.Commit
except
// Si hay algun error entonces regresa lo que hiciste
BasedeDatos.RollBack;
end;



Debes tener la propiedad "TransIsolation = bDirtyRead " de la TDatabase, y en la tabla la propiedad "CacheUpdates = true"

Patricio
27-06-2005, 16:29:06
Bueno primero que todo muchas gracias por la respuesta, que me sugirio hacer algunas modificaciones al codigo

Mi problema parece que tenia que ver con una consulta que hacia antes de el insert, entonces otro usuario accedia antes de tiempo parece, pero ya se soluciono con una mezcla del codigo que tenia y el que me sugirieron

Saludos