Página 1 de 1

Transacciones

Publicado: Mar Jul 19, 2005 10:25 am
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

Transacciones

Publicado: Mar Jul 19, 2005 1:14 pm
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

Transacciones

Publicado: Mar Jul 19, 2005 2:00 pm
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

Transacciones

Publicado: Mar Jul 19, 2005 2:09 pm
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