gracias por la ayuda y un saludo a este nuevo foro que me integro...........

Posted 11 March 2009 - 09:21 AM
Posted 11 March 2009 - 09:28 AM
With TQuery, TQuery.SQL do begin Close; Clear; Add('SELECT * FROM MYPROCEDURE'); Open; end;
Posted 11 March 2009 - 09:31 AM
SELECT * FROM REPDEPTOSUNO (:E_Inicial,:E_Final,:E_Depto)
with IBQRepUNDepto do begin Close; ParamByName('E_Inicial').Value := FInicial.Date; ParamByName('E_Final').Value := FFinal.Date; ParamByName('E_Depto').Value := Edit1.Text; Open; if RecordCount > 0 then begin Result := True; end else begin Result := False; end; end;
Posted 11 March 2009 - 09:33 AM
call Nombre_Procedimiento('parametros1','parametros2')
Posted 11 March 2009 - 09:36 AM
Posted 11 March 2009 - 09:40 AM
Posted 11 March 2009 - 09:43 AM
Como Pasar lo parametros si me jala el problema esque no aparecen en el dbgri
por ejemplo a una variable encontre que se pasa asi
sumlts:=DM.spsumlitros.Parameters.ParamValues['@sumlitros'];
y lo muestro y me manda el primer registro .... osea que si esta jalando la conexion porque me esta devolviendo algo y esta bien porque es el primero pero en el dbgrig no muestra nada
,... Gracias a todos...
Posted 11 March 2009 - 09:45 AM
ALTER PROCEDURE [dbo].[sumltssoc] @fecha1 datetime, @fecha2 datetime, @ltsSocios DECIMAL(8,2) output, @monedaSocios DECIMAL(8,2) output, @Socios VARCHAR output AS BEGIN SELECT @socios=CVE_SOC, @ltsSocios=SUM(LITROS), @monedaSocios=SUM(lts_moneda) FROM tcapdiesel WHERE fecha_carga BETWEEN @fecha1 AND @fecha2 GROUP BY cve_soc RETURN END
dm.ADOCon.BeginTrans; DM.spsumcompra.Prepared:=false; DM.spsumcompra.Parameters.ParamByName('@fecha1').Value:=DateToStr(DateTimePicker1.Date); DM.spsumcompra.Parameters.ParamByName('@fecha2').Value:=DateToStr(DateTimePicker2.Date); DM.spsumcompra.Prepared:=true; DM.spsumcompra.ExecProc; dm.ADOCon.CommitTrans;
sumltscompra:=DM.spsumcompra.Parameters.ParamValues['@sumltscom'];
ShowMessage('litros '+FloatToStr(sumltscompra));
Posted 11 March 2009 - 09:47 AM
Posted 11 March 2009 - 09:49 AM
Este es mi proc almac.
ALTER PROCEDURE [dbo].[sumltssoc]
@fecha1 datetime,
@fecha2 datetime,
@ltsSocios Decimal(8,2) output,
@monedaSocios Decimal(8,2) output,
@Socios varchar output
AS
BEGIN
SELECT @socios=CVE_SOC, @ltsSocios=SUM(LITROS), @monedaSocios=SUM(lts_moneda) FROM tcapdiesel
where fecha_carga between @fecha1 and @fecha2
group by cve_soc
RETURN
END
y en delphi le paso los parametros asi
dm.ADOCon.BeginTrans;
DM.spsumcompra.Prepared:=false;
DM.spsumcompra.Parameters.ParamByName('@fecha1').Value:=DateToStr(DateTimePicker1.Date);
DM.spsumcompra.Parameters.ParamByName('@fecha2').Value:=DateToStr(DateTimePicker2.Date);
DM.spsumcompra.Prepared:=true;
DM.spsumcompra.ExecProc;
dm.ADOCon.CommitTrans;
aki reviso si esta devolviendo algo
sumltscompra:=DM.spsumcompra.Parameters.ParamValues['@sumltscom'];
y efectivamente me devuelve el`primer registro pero en el dbgrid nada nada...
ShowMessage('litros '+FloatToStr(sumltscompra));
mi pregunta es asi como se capturta un dato a una variable ... hay una manera de colocarlos en un dbgrid??
Saludos----
ALTER PROCEDURE [dbo].[sumltssoc] @fecha1 datetime, @fecha2 datetime, @ltsSocios DECIMAL(8,2) output, @monedaSocios DECIMAL(8,2) output, @Socios VARCHAR output AS BEGIN SELECT @socios=CVE_SOC, @ltsSocios=SUM(LITROS), @monedaSocios=SUM(lts_moneda) FROM tcapdiesel WHERE fecha_carga BETWEEN @fecha1 AND @fecha2 GROUP BY cve_soc; // Aquí se da salida a los parámetros como un recordset que puede //ser leido por el dbgrid. SELECT @socios AS Socios, @ltsSocios AS LtsSocios, @monedaSocios AS Moneda socios RETURN END
Posted 11 March 2009 - 10:24 AM
Posted 11 March 2009 - 10:27 AM
Enlo cierto mi estimado poliburro ya seve algo en el dbgrig del conjunto de registros solo me muestra el ultimo registro en el dbgrig ... ya voy por menos jejejeje
un saludo....