Buenas noches
necesito que me ayuden, ya consegui mostrar una funcion setoff record de postgres a delphi.
En postgres realice este procedimiento:
Código SQL
[-]CREATE OR REPLACE FUNCTION eoq(fi date, ff date)
RETURNS SETOF record AS
$BODY$
declare
_resultado record;
begin
for _resultado in
SELECT
DISTINCT a.cod_producto,
p.nombre,
SUM(a.cantidad::float) / ($2::date - $1::date) AS demanda,
sqrt((2 * 75 * (SUM(a.cantidad::float) / COALESCE ($2::date - $1::date,1))) / (COALESCE(p.precio_unid * 0.17,1))) AS Q,
(SUM(a.cantidad::float) / ($2::date - $1::date)) /(sqrt((2 * 75 * (SUM(a.cantidad::float) / COALESCE ($2::date - $1::date,1))) / COALESCE(p.precio_unid * 0.17,1))) AS N,
(sqrt((2 * 75 * (SUM(a.cantidad::float) / COALESCE ($2::date - $1::date,1))) / COALESCE(p.precio_unid * 0.17,1)))/
(SUM(a.cantidad::float) / ($2::date - $1::date)) as T,
Stddev(a.cantidad) * sqrt(4) AS Desv,
(Stddev(a.cantidad) * sqrt(4)) * 1.28 AS ISS,
(SUM(a.cantidad) / COALESCE ($2::date - $1::date,0)) * 4 +(((Stddev(a.cantidad) * sqrt(4)) * 1.28 )) AS R
FROM detalle_venta a, producto p, factura_vent fv
WHERE ((p.cod_producto = a.cod_producto) AND (a.cod_fact_vent = fv.cod_fact_vent) AND
(fv.fecha BETWEEN $2::date AND $1::date))
GROUP BY a.cod_producto, p.nombre, p.precio_unid loop
return next _resultado;
end loop;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION eoq(date, date) OWNER TO postgres;
Y en delphi llame a este procedimiento mediante un query donde coloque lo siguiente:
Código Delphi
[-]select * from eoq(:fec_inicio,:fec_fin)as
(cod_producto character varying,nombre character varying,
demanda float ,Q float,N float,T float,Desv float,
ISS float,R float);
Pero cuando hago correr mi programa en delphi para mostrar el resultado en un dbgrid no muestra nada, cual puede ser mi error?
Ya probe el procedimiento de postgres y funciona perfectamente.
gracias.