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
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.
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
Transacciones
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
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
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
>> 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
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
> 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