Apropos doppelter Code.
Zitat:
Delphi-Quellcode:
if aClosedOnes then
begin
SQLiteQuery1.ParamByName('flag').value := 0;
end
else
begin
SQLiteQuery1.ParamByName('flag').value := 1;
end;
Das ist ja wie ein
Delphi-Quellcode:
if MyBoolean then
Result := True
else
Result := False;
In Delphi ist True als 1 definisert und False ist sowieso immer 0, darum ginge das hier.
SQLiteQuery1.ParamByName('flag').value := Ord(aClosedOnes);
Aber aus selbem Grund, warum ich ständig drarauf hinweise, daß man
if MyBool = True then
nicht machen sollte, da zwar die Konstante "True" = 1, aber der Zustand "True" <> 0 ist, wäre es so bestimmt sicherer,
SQLiteQuery1.ParamByName('flag').value := IfThen(aClosedOnes, 1, 0);
wenn man nicht sichestellen kann, was in der Variable drin steckt.
bzw.
WHERE flag = :flag;
/
SQLiteQuery1.ParamByName('flag').AsInteger := IfThen(aClosedOnes, 1, 0);
WHERE (flag <> 0) = :flag;
/
SQLiteQuery1.ParamByName('flag').AsBoolean := aClosedOnes;