@tsteinmaurer: Okaydokay, die prepared-querys bringen nochmal eine Sekunde. Jetzt bauche ich noch das Commit ein. Bisheriger Code:
Delphi-Quellcode:
function TDataBaseConnection.IsEMailInDB(CustomerID:integer;EMailDate:tDateTime):boolean;
begin
if not assigned(IsEMailInDBQuery)
then
begin
IsEMailInDBQuery:=TIBQuery.Create(
nil);
IsEMailInDBQuery.Database:=
DB;
IsEMailInDBQuery.Transaction:=ta;
IsEMailInDBQuery.SQL.Text := '
SELECT COUNT(*) FROM DOCUMENTS';
IsEMailInDBQuery.SQL.Add('
WHERE CUSTOMER = :CUSTOMER AND MODIFYDATE = :MODIFYDATE');
IsEMailInDBQuery.Prepare;
end;
IsEMailInDBQuery.Params[0].AsInteger:=CustomerID;
IsEMailInDBQuery.Params[1].AsDateTime:=EMailDate;
IsEMailInDBQuery.open;
result := IsEMailInDBQuery.Fields[0].AsInteger <> 0;
IsEMailInDBQuery.Close;
end;
//edit: @Steinmaurer: Mit einem ta.commit; am Ende (nachdem IsEMailInDBQuery.Close) macht die Geschichte wieder ca. eine Sekunde langsamer?!