Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ¿ Es posible realizar una inserción sin tener una transaccion abierta ? (https://www.clubdelphi.com/foros/showthread.php?t=39967)

TrUnkS 03-02-2007 01:52:16

¿ Es posible realizar una inserción sin tener una transaccion abierta ?
 
Hola amigos mi duda es la siguiente:
Deseo utilizar un TIBDataSet que se almacene en memoria mientras le realizo operaciones de borrado, insercion, modificacion, etc ... y en el momento que deseo realmente guardar o cancelar los cambios entonces abrir la transaccion y realizar los cambios. La idea es que la transaccion se mantenga abierta el menor tiempo posible y solamente realizar operaciones con tablas imaginarias momentaneamente sin tener los DataSet abiertos ni la Transacción. Cuando inserto un registro y el DataSet esta cerrado, entonces me marca error porque el DataSet esta cerrado. Si abro el DataSet se abre la transacción y eso es justamente lo que no quiero. Trato de usar CachedUpdates pero igual tengo que abrir los DataSet para realizar las inserciones y borrados. De antemano gracias.

Gigabyte1024 03-02-2007 02:10:34

podrias intentar introducir tus datos a un stringrid y ya cuando llegue el momento de guardar los datos pasar los campos de las celdas a tu dataset que seria algo asi:

IBTransaction1.Active:=True;
IBDataSet.Active:=True;

for y1:=1 to y-1 do //y es la cantidad de registros que hay en el stringgrid
begin
IBDataSet1.Insert;
IBDataSet1.FieldByName('clave').AsInteger:=strtoint(stringgrid.Cells[0,y1]);
IBDataSet1.FieldByName('nombre').AsString:=stringgrid.Cells[1,y1];
IBDataSet1.FieldByName('tel').AsInteger:=strtoint(stringgrid.Cells[2,y1]);
IBDataSet1.Post;
end;
IBTransaction1.Commit;



eso lo puedes poner en un boton, espero te sirva de algo


La franja horaria es GMT +2. Ahora son las 14:24:33.

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