Hallo zusammen,
ich arbeite mich grad mit Delphi 10.3 in die
ADO Datasets ein.
Wenn ich im CommandText z.B. Schreibe
SELECT * FRIOM CUSTOMER WHERE PK IN (11,15,36)
Dann liefert mit das Dataset die "gefilterten" Datensätze mit den PKs 11 / 15 / 36.
Sollte es nicht auch gehen, dass ich den Filter über den Filterstring des
ADO Daset realisiere?
Command Text hab ich geändert und versuch den filter über .Filter zu setzen
Delphi-Quellcode:
AdoDataSet1.CommandText := 'SELECT * FROM CUSTOMER';
AdoDataSet1.Filter := 'PK IN (11,15,16)';
AdoDataSet1.Filtered := TRUE;
Hier bekomme ich die Felhermeldung:
Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind miteinander unvereinbar.
Wo liegt denn hier das Problem? Bzw. wie verwendet man das 'IN' an dieser Stelle richtig?
Die Alternaitve mot OR würde zwar funkionieren, das find ich aber suboptimal.
Delphi-Quellcode:
AdoDataSet1.CommandText := 'SELECT * FROM CUSTOMER';
AdoDataSet1.Filter := 'PK = 11 OR PK = 15 OR PK=36';
AdoDataSet1.Filtered := TRUE;
Kann mir bitte jemand nen Tipp geben?
Mfg
Andreas