Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Extraer datos de un dataset? (https://www.clubdelphi.com/foros/showthread.php?t=14735)

Durbed 29-09-2004 16:38:19

Extraer datos de un dataset?
 
Tengo una base en IB6.5 y uso Delphi7. Quiero obtener un dato de una consulta que hago con un IBDataSet, y quiero que ese dato lo recoja en el evento DrawColumnCell. He provado con:
Código:

var aux: STRING;
 ...
 aux:=IBDataSet1.FieldByName('DOCUMENTO'.AsCurrency;

Esto me genera un error de tipos.

Tambien he provado con la funcion CurrToStr
Código:

  var aux: STRING;
  ...
  aux:=CurrToStr(IBDataSet1.FieldByName('DOCUMENTO'.AsCurrency);

pero me genera un erro en tiempo de ejecucion:

"Project PApuntes.exe raised exception class EConvert Error whith message 'R00054' is not a valid floating point value.

'R00054' es el primer valor que ha de recoger la variable aux
El tipo de dato de DOCUMENTO en la base de datos es VARCHAR(6)

Gracias.

Sick boy 29-09-2004 17:04:26

Prueba con esto:

var aux: STRING;
...
aux:=currtostr(IBDataSet1.FieldByName('DOCUMENTO').AsCurrency);

La variable aux es un string, y tratabas de cargar un valor numerico.
Ademas te faltaba un parentesis despues de 'DOCUMENTO'.

NOTA: Supongo que el campo DOCUMENTO es numerico, verdad??

Durbed 30-09-2004 01:46:20

El tipo de dato de DOCUMENTO es VARCHAR y contiene letras y numeros, del tipo R00054. Y como ya puse en el post no me funciona el CurrToStr y el error que me genera.

basti 30-09-2004 10:03:43

Si el dato es VARCHAR, no puedes usar AsCurrency, y mucho menos si tiene valores del tipo 'R00054' tal y como indicas, puesto que ese valor no se puede transformar a Moneda. Sería mejor que explicases que es lo que quieres hacer para poder darte una solución.

Sick boy 30-09-2004 10:43:30

Entonces prueba esto:

aux:=IBDataSet1.FieldByName('DOCUMENTO').AsString;

Seguro que funciona :p

Durbed 01-10-2004 16:40:30

Gracias asi si que funciona :p


La franja horaria es GMT +2. Ahora son las 23:20:43.

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