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)
-   -   Error: BCD Overflow (https://www.clubdelphi.com/foros/showthread.php?t=11609)

bismarck_sierra 18-06-2004 20:45:12

Error: BCD Overflow
 
Que tal

Me genera el error "BCD Overflow" al hacer una suma cuando el resultado rebasa los 1,000.00, estoy utlilizando Delphi 6 (CLX), dbexpress, el codigo es el siguiente:


with dmDatos.qryListados1 do begin
Close;
CommandText := 'SELECT a.clave, a.nombre, SUM(v.cantidad*v.precio*' +
'(1-v.descotorg/100)) AS importe FROM areasventa a ' +
'LEFT JOIN ventasareas v ON a.clave = v.areaventa ' +
'WHERE a.caja = ' + IntToStr(iCaja) + ' OR a.caja IS' +
'null GROUP BY a.clave, a.nombre ORDER BY nombre';
Open;
end;


alguien que me pueda orientar que es lo que pasa y como solucionarlo

gracias de antemano

Saludos
Bismarck

guillotmarc 18-06-2004 20:50:41

Hola.

¿ Has instalado el Update específico para el driver dbExpress de Interbase ?. Tienes que instalar el Update Pack 2 de Delphi 6, y ese driver.

Saludos.

bismarck_sierra 20-06-2004 01:34:44

Ya pude solucionar el problema, le agregue un CAST a la suma.

No sabía que se podía hacer desde SQL, hasta que vi una noticia que publicó guillotmarc acerca del replicador de IB.

with dmDatos.qryListados1 do begin
Close;
CommandText := 'SELECT a.clave, a.nombre,' +
'CAST(SUM(v.cantidad*v.precio*(1-v.descotorg/100)) AS' +
' numeric(12,2)) AS importe FROM areasventa a ' +
'LEFT JOIN ventasareas v ON a.clave = v.areaventa ' +
'WHERE a.caja = ' + IntToStr(iCaja) + ' OR a.caja IS' +
'null GROUP BY a.clave, a.nombre ORDER BY nombre';
Open;
end;


La franja horaria es GMT +2. Ahora son las 22:35:25.

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