Hallo,
ich möchte eigentlich nur die Anzahl aller Werte addieren wenn sie der Vorgabe entsprechen.
(Die Tabelle mit ein paar Dummy-Werten im Anhang)
Delphi-Quellcode:
function TWotFS.GetResult(const Value : Integer) :Integer;
var
Q : TADODataSet;
S : String;
I : Integer;
begin
Q := TADODataSet.Create(Self);
try
I := GetLastIdx('TabSession');
S := Format('Select SUM(Result) As Ret From TabStatistic Where ((Session=%s) and (Result=%s))', [IntToStr(I), IntToStr(Value)]);
Q.Connection := ADOConn;
Q.CommandText:= S;
Q.Open;
Result := Q.FieldByName('Ret').AsInteger;
Q.Close;
finally
Q.Free;
end;
end;
Doch leider kommt es bei Q.Open zu einer
Exception = 'Unbekannter Fehler'.
Eine Abfrage des generierten
SQL-Strings in MS
Access bringt das gewünschte Ergebnis:
Code:
'Select SUM(Result) As Ret From TabStatistic Where ((Session=1) and (Result=1))' = 2.
Was läuft da schief?