Thema: Delphi Dataset Filter mit IN

Einzelnen Beitrag anzeigen

Droopy-D

Registriert seit: 21. Apr 2009
2 Beiträge
 
#1

Dataset Filter mit IN

  Alt 12. Jan 2020, 17:21
Datenbank: SQL-Serber • Version: 2014 • Zugriff über: ADO Dataset
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
  Mit Zitat antworten Zitat