Einzelnen Beitrag anzeigen

AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#6

AW: TFDQuery -> Parameter in LIKE-Anweisung führt bei zu großer Länge zu Exception

  Alt 24. Feb 2020, 12:06
Zitat:
Wenn das Feld nur 5 Zeichen groß ist, kann ein Vergleichsstring mit 12 Zeichen Länge ja auch nicht gefunde werden.
Das ist nicht das Problem. Die Exception ist das Problem. Ohne Parameter wird einfach nichts gefunden, was ja auch richtig und in Ordnung ist. Mit Parameter knallt es aber.

Zitat:
Hast du das SQL im QT oder einer Query die auf die Form gepappt ist?
Ist eine im Quelltext erzeugte TFDQuery.

Zitat:
Ich habe mit FDQuery (FireDac) noch nichts gemacht.
Aber wenn man vor dem Setzen des Parameter - Wertes ein Prepare macht, dann sollte der Parameter in Size dir korrekte Länge enthalten.
Dann könntest du den String ohne zusätzliche Abfrage aud die richtige Größe kürzen.
Mache Komponenten (z.B. IBO) generieren auch schon die Feldliste der Query nach dem Prepare.
Dann könnte man dor die Länge ermitteln.
Ich habs mal gerade probiert, aber nach dem Prepare hat der entsprechende Parameter leider nicht automatisch die Größe des Datenfeldes und führt daher ebenfalls zur Exception.

Zitat:
Hallo,
was soll Dein LIKE eigentlich bringen?
Es ergibt doch immer NULL:
Meinst Du vielleicht IN ?.
Wie erwähnt ist es eine Suche über MEHRERE Felder. Dieses Feld ist nur eins davon. Dementsprechend liefert die Suche auch gegebenenfalls etwas zurück.
  Mit Zitat antworten Zitat