Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con igualar un campo (https://www.clubdelphi.com/foros/showthread.php?t=62783)

josi 14-01-2009 15:46:46

ayuda con igualar un campo
 
hola

me gustaria saber como o cual seria el codigo para que el valor de un campo sea igual al valor
de otro campo pero de la misma tabla, trato con este codigo:
Código Delphi [-]
productosquery1.FieldByName('existencia').AsString:=productosquery1.FieldValues['cantidad'];
productosquery1.Post;
pero me dice:
'could not convert variant of tipe (null) into type (type)'.:confused:

CACR 14-01-2009 17:06:41

tienes problemas de sintaxis
 
Creo que te falta poner antes del ; final de la asignación .value o .AsString
utilizando también la propiedad FieldByName para el campo 'cantidad'

MiKloSS 14-01-2009 17:11:17

Concuerdo con el compañero CACR, tambien tienes ke chekar de ke tipo es
el campo cantidad para que hagas la conversion para poder igualar, lo mas
seguro es que sea un integer o un float, utilizaras inttostr o floattostr... salu2

Al González 14-01-2009 17:11:44

Cita:

Empezado por josi (Mensaje 334431)
hola

me gustaria saber como o cual seria el codigo para que el valor de un campo sea igual al valor
de otro campo pero de la misma tabla, trato con este codigo:
Código Delphi [-]
productosquery1.FieldByName('existencia').AsString:=productosquery1.FieldValues['cantidad'];
productosquery1.Post;
pero me dice:
'could not convert variant of tipe (null) into type (type)'.:confused:

Puedes hacerlo de esta forma:
Código Delphi [-]
productosquery1 ['existencia'] := productosquery1 ['cantidad'];

Por cierto, FieldValues es la propiedad predeterminada (default) de los conjuntos de datos, por lo que puede usarse implícitamente (sin escribir su nombre).

El error ocurre porque el campo Cantidad está con un valor de Null, y de la forma en que lo intentabas no es posible convertirlo a String para asignarlo con la propiedad AsString.

Otra solución es aplicarle la función VarToStr al valor a asignar, o usar FieldByName (...).AsString en ambos lados (aunque no sería lo mismo que la primera sugerencia que te hago).

Saludos.

Al González. :)


La franja horaria es GMT +2. Ahora son las 01:20:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi