Página 1 de 1

ADS y campos autoincrementales

Publicado: Mié Abr 06, 2005 6:14 pm
por fredy[1]
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

ADS y campos autoincrementales

Publicado: Jue Abr 07, 2005 9:47 am
por ignacio
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
>
>
>

ADS y campos autoincrementales

Publicado: Jue Nov 11, 2010 12:49 am
por Roberto
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?

ADS y campos autoincrementales

Publicado: Jue Ene 13, 2011 1:53 pm
por Roberto
Please, change from "AUTOINCREMENT" to "AUTOINC" in TDataField class as it was in version 1.9.9