In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Transacciones

Foro de Xailer profesional en español
Responder
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

Transacciones

Mensaje por fredy[1] »

Hola,
Estoy intentando hacerme con el manejo de transacciones en Xailer, pero tengo
varias dudas.
1.- He visto que BeginTrans(), y demás sólo están en AdsDataSource ¿Sólo
se pueden usar con este driver?
2.- ¿Por qué en AdsDataSource y no en AdsDataset? ¿A qué afecta la transacción,
a todas las tabla abiertas con ese datasource?
3.- Tengo:
::oAdsdataSource1:BeginTrans()
IF MsgYesNo( "¿Borrar dato?" )
::oDbfDataSet1:Delete()
ENDIF
QUIT
Sí­ ya sé que es un poco radical, pero inicio una transacción, borro y aborto
el programa sin confirmar la transacción. ¿Por qué me borra el registro?
(uso ficheros .adt)
Un saludico,
Fredy
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Transacciones

Mensaje por jfgimenez »

Fredy,
yo no soy el experto en ADS, pero vamos allá...
> 1.- He visto que BeginTrans(), y demás sólo están en AdsDataSource ¿Sólo
> se pueden usar con este driver?
Los RDD nativos no soportan transacciones nativamente, así que sólo está
disponible para ADS y ODBC.
De todos modos, Joaquín implementó un sistema de transacciones con dbf; si
te interesa, supongo que a Joaquín no le importaría enviártelo.
> 2.- ¿Por qué en AdsDataSource y no en AdsDataset? ¿A qué afecta la
> transacción, a todas las tabla abiertas con ese datasource?
Se supone que una transacción puede afectar a varias tablas. De hecho, esa
es la razón más habitual para usar transacciones.
> 3.- Tengo:
>
> ::oAdsdataSource1:BeginTrans()
> IF MsgYesNo( "¿Borrar dato?" )
> ::oDbfDataSet1:Delete()
> ENDIF
> QUIT
>
> Sí ya sé que es un poco radical, pero inicio una transacción, borro y
> aborto el programa sin confirmar la transacción. ¿Por qué me borra el
> registro? (uso ficheros .adt)
Eso ya no lo sé :-(
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

Transacciones

Mensaje por fredy[1] »

Hola,
>> 2.- ¿Por qué en AdsDataSource y no en AdsDataset? ¿A qué afecta la
>> transacción, a todas las tabla abiertas con ese datasource?
>>
> Se supone que una transacción puede afectar a varias tablas. De hecho,
> esa es la razón más habitual para usar transacciones.
Sí­, lo cierto es que es muy lógico.

>> 3.- Tengo:
>>
>> ::oAdsdataSource1:BeginTrans()
>> IF MsgYesNo( "¿Borrar dato?" )
>> ::oDbfDataSet1:Delete()
>> ENDIF
>> QUIT
>> Sí­ ya sé que es un poco radical, pero inicio una transacción, borro y
>> aborto el programa sin confirmar la transacción. ¿Por qué me borra el
>> registro? (uso ficheros .adt)
>>
> Eso ya no lo sé :-(
Mirando la documentación de ads he visto que las transacciones sólo son válidas
con el servidor ads, no con ads local.
Un saludico,
Fredy
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Transacciones

Mensaje por jfgimenez »

Fredy,
> Mirando la documentación de ads he visto que las transacciones sólo son
> válidas con el servidor ads, no con ads local.
Algo tenía que tener la versión cliente/servidor, si no, ¿para qué pagar por
eso? ;-)
Bueno, fuera de bromas... efectívamente, no sabía que estabas probando con
la versión local. Esa y algunas otras características sólo están disponibles
en la versión C/S.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder