Hola,
Tengo un problemilla con los datacontrols al utilizar tablas .adt cuando
tienen un campo de tipo autoincremental.
Veamos:
Si abro la tabla .adt a pelo, con un use y añado un nuevo registro sin preocuparme
para nada del campo autoincrementado, me funciona bien.
Pero si utilizo los datacontrols, me hace la inserción del dato, pero al
ir a guardarlo me da el error
FIELDPUT(0)
Error ADSADT/5066 Write error
Por lo visto, el método correspondiente del datacontrol intenta hacer un
replace del campo autoincrementado y es ahí donde da el error.
Mi campo autoincrementado se llama contador, pues bien, si al hacer el append
blank pongo
replace contador with 3
me genera el mismo error.
Lógicamente, también me pasa lo mismo si en el dataset tengo lReuseDel a .t.
Creo que los métodos implicados del dataset tendrían que controlar el tipo
del campo, y si este es AutoInc, símplemente no hacer nada con él, que ads
se encarga de todo.
Un saludico,
Fredy
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0514-0, 05/04/2005
Comprobado en: 06/04/2005 18:14:27
avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
http://www.avast.com
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.
ADS y campos autoincrementales
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
ADS y campos autoincrementales
Fredy,
Lo estudiaremos, no obstante no tienes más que hacer lo siguiente:
oDataField:OnSetValue := nil
Saludos,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=4129632484080575509952@news.ozs.com...]4129632484080575509952@news.ozs.com...[/email]
> Hola,
> Tengo un problemilla con los datacontrols al utilizar tablas .adt cuando
> tienen un campo de tipo autoincremental.
>
>
> Veamos:
>
> Si abro la tabla .adt a pelo, con un use y añado un nuevo registro sin
> preocuparme para nada del campo autoincrementado, me funciona bien.
>
> Pero si utilizo los datacontrols, me hace la inserción del dato, pero al
> ir a guardarlo me da el error
> FIELDPUT(0) Error ADSADT/5066 Write error
>
> Por lo visto, el método correspondiente del datacontrol intenta hacer un
> replace del campo autoincrementado y es ahí donde da el error.
> Mi campo autoincrementado se llama contador, pues bien, si al hacer el
> append blank pongo
> replace contador with 3
> me genera el mismo error.
>
> Lógicamente, también me pasa lo mismo si en el dataset tengo lReuseDel a
> .t.
>
> Creo que los métodos implicados del dataset tendrían que controlar el tipo
> del campo, y si este es AutoInc, símplemente no hacer nada con él, que ads
> se encarga de todo.
>
>
>
>
> Un saludico,
> Fredy
>
>
>
>
>
> ---
> avast! Antivirus: Saliente mensaje limpio.
> Base de datos de Virus (VPS): 0514-0, 05/04/2005
> Comprobado en: 06/04/2005 18:14:27
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
>
>
>
Lo estudiaremos, no obstante no tienes más que hacer lo siguiente:
oDataField:OnSetValue := nil
Saludos,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=4129632484080575509952@news.ozs.com...]4129632484080575509952@news.ozs.com...[/email]
> Hola,
> Tengo un problemilla con los datacontrols al utilizar tablas .adt cuando
> tienen un campo de tipo autoincremental.
>
>
> Veamos:
>
> Si abro la tabla .adt a pelo, con un use y añado un nuevo registro sin
> preocuparme para nada del campo autoincrementado, me funciona bien.
>
> Pero si utilizo los datacontrols, me hace la inserción del dato, pero al
> ir a guardarlo me da el error
> FIELDPUT(0) Error ADSADT/5066 Write error
>
> Por lo visto, el método correspondiente del datacontrol intenta hacer un
> replace del campo autoincrementado y es ahí donde da el error.
> Mi campo autoincrementado se llama contador, pues bien, si al hacer el
> append blank pongo
> replace contador with 3
> me genera el mismo error.
>
> Lógicamente, también me pasa lo mismo si en el dataset tengo lReuseDel a
> .t.
>
> Creo que los métodos implicados del dataset tendrían que controlar el tipo
> del campo, y si este es AutoInc, símplemente no hacer nada con él, que ads
> se encarga de todo.
>
>
>
>
> Un saludico,
> Fredy
>
>
>
>
>
> ---
> avast! Antivirus: Saliente mensaje limpio.
> Base de datos de Virus (VPS): 0514-0, 05/04/2005
> Comprobado en: 06/04/2005 18:14:27
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
ADS y campos autoincrementales
Hi,
I have same problem and I guess BasicType of DataField is not passing the correct value to xa_GetDefValue.
Please, when it will be fixed?
I have same problem and I guess BasicType of DataField is not passing the correct value to xa_GetDefValue.
Please, when it will be fixed?
ADS y campos autoincrementales
Please, change from "AUTOINCREMENT" to "AUTOINC" in TDataField class as it was in version 1.9.9