Hi,
ich habe das Problem mit dieser stored procedure
SQL-Code:
CREATE PROCEDURE berechne @MONAT int, @JAHR int
AS
SELECT * FROM TANKSTELLE
WHERE MONTH(DATUM) = @MONAT
AND YEAR(DATUM) = @JAHR
return
ich kann dies so aufrufen
Code:
DM1.ADOStoredProc1.Parameters.ParamValues['@Monat'] := StrToInt('4');
DM1.ADOStoredProc1.Parameters.ParamValues['@JAHR'] := StrToInt('2005');
DM1.ADOStoredProc1.open;
aber wenn ich es so probiere geht es nicht(ADOQuerry)
Code:
DM1.Q_Berechne.Close;
DM1.Q_Berechne.SQL.Clear;
DM1.Q_Berechne.SQL.Add('SELECT * FROM BERECHNE(4, 2005)');
DM1.Q_Berechne.Open;
Da ich damit noch nie gearbeitet habe(mit stored procedures) will ich eigentlich dahin das die Procedure so aussieht.
SQL-Code:
CREATE PROCEDURE berechne @MONAT int, @JAHR int, @GELD float output
AS
SELECT @GELD = SUM(PREIS)
FROM TANKSTELLE
WHERE MONTH(DATUM) = @MONAT
AND YEAR(DATUM) = @JAHR
return
Zur Anzeige des Ergebnisses sollte das dann doch so aussehen, oder?
Code:
DM1.ADOStoredProc1.Parameters.ParamValues['@Monat'] := StrToInt('4');
DM1.ADOStoredProc1.Parameters.ParamValues['@JAHR'] := StrToInt('2005');
DM1.ADOStoredProc1.open;
Label4.Caption := FloatToStr(DM1.ADOStoredProc1.Parameters.ParamValues['@GELD']);
Ich bekomme aber volgende Meldung das der CommandText keine Ergebnismenge zurückgibt
Ich bin für alle Hilfe offen
Danke