Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2010
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Unhappy Falla en dbExpress de Delphi 2007 con Firebird para campos BCD

Hola,

Tengo un problema con dbExpress, Firebird y Delphi 2007:

Resulta que al usar Sum() en un Select, si la expresión dentro del Sum contiene un valor de Doble Precisión multiplicado por uno BCD, el dbExpress está reconociendolo como un campo Float; en lugar de un campo FmtBcd, que sería lo lógico dado que es el valor más grande.

Por ejemplo, si tengo esto:

Código SQL [-]
Select Sum(UNDOBLE * UNOBCD) LASUMA From TABLAC

Donde UNDOBLE es DOUBLE PRECISION y UNOBCD es DECIMAL(18,2) , dbExpress me identifica el campo LASUMA como un DOUBLE PRECISION, o sea un TFloatField cuando debía ponerlo como un TFMTBCDField.
Es de anotar que si uso Sum() sobre un campo BCD, dbExpress trabaja bien; es decir, en el ejemplo, si uso SUM(UNOBCD) si se genera en Delphi 2007 un TFMTBCDField (aunque, al igual que en campos simples) hay que ajustarle luego manualmente la propiedad Precision a 18).

Dos preguntas :

1. De quién es la falla ?. De el dbExpress como tal ?. Del driver dbExpress que estoy usando para Firebird ?, o del propio Firebird ?. Pensaría que es el driver ya que el que uso es el que viene con Delphi y ese no está certificado; pero, no estoy seguro.

2. Que puede hacerse ?. Tengo la opción de cambiar el algoritmo; pero, sería ineficiente y además muy problemático porque ese tipo de situaciones me son comunes en el desarrollo que estoy haciendo.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DB2 9.7 en Linux con dbExpress para Delphi 2007. Funciona bien ? rolandoj Conexión con bases de datos 0 26-01-2010 13:57:02
cual es la mejor opcion para conectar delphi 2007 con firebird 2 hibero Conexión con bases de datos 16 27-10-2008 03:32:01
driver dbxdb230.dll para delphi 2007 en dbexpress kokud Conexión con bases de datos 2 24-04-2008 14:59:21
Delphi 2007 + dbExpress + MySQL totote Conexión con bases de datos 2 28-12-2007 14:09:20
Firebird + DBExpress + Delphi 2007 diegofhernando Conexión con bases de datos 9 31-08-2007 01:19:27


La franja horaria es GMT +2. Ahora son las 17:16:34.


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
Copyright 1996-2007 Club Delphi