![]() |
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
order by als parambyname geht nicht?
hallo zusammen,
in meinen sql-statements weisse ich den where-Klauseln den Wert per Query1.ParamByName() zu. Leider bekomme ich beim Versuch dies bei der order by klausel auch so zu machen nen Fehler -804 Data typ unknown. Funktioniert das grundsätzlich nicht per Parameter? Danke Gruss KHH |
AW: order by als parambyname gent nicht?
Du kannst per Parameter nur Werte übergeben, aber keine Tabellen- oder Feldnamen.
|
AW: order by als parambyname gent nicht?
Zitat:
na dann übergebe ich den Feldnamen halt per Variable im Statement. Ich danke dir Gruss KHH |
AW: order by als parambyname gent nicht?
Zitat:
|
AW: order by als parambyname gent nicht?
Hallo,
man kann die Feldposition übergeben, also order by :p und den Parameter dann mit query.parambyname('p').asstring:='2' Gruß Ralf |
AW: order by als parambyname gent nicht?
Zitat:
|
AW: order by als parambyname gent nicht?
Zitat:
|
AW: order by als parambyname geht nicht?
Hallo,
die '2' ist kein Feldname, sondern sozusagen die Feldposition in der Liste derselectierten Felder Ich kann den sql z.B. so schreiben: select nr, name from kunden order by 1 wird nach Nummer sortiert. Ebenso möglich: select nr, name from kunden order by :p und dann den Wert für p als Parameter übergeben. Gruß Ralf |
AW: order by als parambyname geht nicht?
Zitat:
danke gruss KHH |
AW: order by als parambyname geht nicht?
Man sollte das Sortieren nicht dem Server überlassen. Das sind Perlen vor die Säue. Hol Dir die Datenmenge unsortiert und sortiere selbst in Memory.
Aber wenn Du es partout so willst, dann erstelle deine Query individuell:
Delphi-Quellcode:
myQuery.SQL.Text := Format('select * from tabelle order by %s',[aFieldName]);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz