Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-01-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 26
kinobi Va por buen camino
Cita:
Empezado por Nuria
porque seguro que hay algo que no hago o que no es correcto,
seguro, pero también es seguro que no es algo en la parte del servidor (ya que una consulta en IBConsole da el resultado correcto). Conclusión: céntrate en el cliente, en tu aplicación.

De todas formas, ese AsString de ...

Código:
  DM.IBP.FieldByName('TIMP').AsString
puede estar haciendo mal la conversión del tipo InterBase DECIMAL(12,2) a String Delphi (yo no lo descartaría).

Saludos.
Responder Con Cita
  #2  
Antiguo 21-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 24
Nuria Va por buen camino
De nuevo gracias Kinobi por tu interes.

Cita:
puede estar haciendo mal la conversión del tipo InterBase DECIMAL(12,2) a String Delphi (yo no lo descartaría).
Tenías razón que la conversión me la hacía mal, he cambiado mi código de está manera:

Código:
    if not DM.trPrv.InTransaction then
      DM.trPrv.StartTransaction;

    DM.IBP.ParamByName('EXP').AsInteger := StrToInt(idKey.Text);
    DM.IBP.ExecProc;
    DM.trPrv.Commit;
    Debe := DM.IBP.FieldByName('TIMP').AsFloat;
El valor que recoje Debe es 0, que no es el valor correcto que debe devolver el procedimiento . No sé por donde tirar. Seguiré investigando... Alguna sugercia más.

Saludos!
Responder Con Cita
  #3  
Antiguo 21-01-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 26
kinobi Va por buen camino
Cita:
Empezado por Nuria
Alguna sugercia más.
Sí, hace tiempo que estoy apartado de la programación Delphi, pero juraría que la línea ...

Código:
  Debe := DM.IBP.FieldByName('TIMP').AsFloat;
debería ser

Código:
  Debe := DM.IBP.ParamByName('TIMP').AsFloat;
Antes no me había dado cuenta.

Saludos
Responder Con Cita
  #4  
Antiguo 21-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 24
Nuria Va por buen camino
Diste en el clavo!!

No era FieldByName sino ParamByName, no había caído en eso,es de lógica(:timp), no es un campo sino un parámetro. Hay veces que lo tienes delante de las narices y no lo ves ...

Mil gracias. Te debo una

Saludos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


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


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