Einzelnen Beitrag anzeigen

Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ADO-Problem mit IN-Klausel und Wertliste

  Alt 25. Dez 2003, 09:07
Du übergibst einen String, und der wird entsprechend eingetragen. Aber leider wird daraus nicht das erwartete Statement.

Ich umgehe dieses Problem immer dadurch, daß ich das SQL-Statement einfach komplett neu baue ohne Parameter-Übergabe, da ich in der Vergangenheit häufiger Ungereimtheiten bei der Verwendung von Parametern bei ADO feststellen mußte. Ich speichere mir dazu den SELECT-Teil, den FROM-Teil, den WHERE-Teil ohne die entsprechende Zeile mit dem Parameter sowie den Order-Teil in eigene Konstanten, und füge Sie dann in der Eigenschaft SQL zusammen, nachdem ich die Parameterliste zusammengestellt habe. Etwa so:

Delphi-Quellcode:
const
  cSELECT = 'SELECT *'; // SELECT-Teil
  cFROM = 'FROM Artikel'; // FROM-Teil
  cWHERE = 'WHERE Bezeichnung = ''Artikel'''; // WHERE-Teil ohne Parameter-Liste
  cORDERBY = 'ORDER BY Artikelnr'; // ORDER-Teil
  cCR =#13#10;
begin
...
AdoDataSet1.CommandText := cSELECT + cCR + cFROM + cCR + cWHERE + cCR + 'AND Kategorie_Id IN (1,2,3,4,5)' + cCR + cORDERBY;
AdoDataSet1.Open;
...
end;
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat