![]() |
TEdit -> Kommazahl -> SQL
Hallo zusammen,
wie behandele ich am besten Kommazahlen in SQL ? In einem TEdit - Feld können Zahlen eingegeben werden. Und die meisten User geben ja sowas wie z.B. 12,3 ein. Wie verarbeite ich das am besten nun in einer SQL - Abfrage, das ich normale, wie auch Kommazahlen auf grösser gleich abfragen kann ? Gruss Holger |
Re: TEdit -> Kommazahl -> SQL
In einer SQL Abfrage muß das Komma durch einen Punkt ersetzt werden.
Ich mach das mit einer Function wo der Komma durch einen Punkt ersezt wird. Peter |
Re: TEdit -> Kommazahl -> SQL
Was für einen Typ hat das Feld in der DB?
|
Re: TEdit -> Kommazahl -> SQL
Alles klar, dann baue ich mir wohl eine Function. Vielleicht kannst Du die ja hier mal posten ?
Das Feld in der DB ist number(11,3) Vielleicht noch jemand eine andere Idee ? Gruss Holger |
Re: TEdit -> Kommazahl -> SQL
man könnte auch (SQL-)Parameter verwenden, dann ist die manuelle Wandlung überflüssig.
|
Re: TEdit -> Kommazahl -> SQL
Hallo Holger,
ein Problem hast du nur, wenn der bei der Eingabe verwendete DecimalSeparator nicht dem Locale-Default entspricht. Ansonsten kannst du den Wert einfach mit StrToFloat() in sein internes Format umwandeln. Wenn du dann im SQL-Statement mit Parametern arbeitest, dann kannst du den Float-Wert über ParamByName('param1').AsFloat direkt zuweisen. Grüße vom marabu |
Re: TEdit -> Kommazahl -> SQL
Ich muss doch den Wert aus dem TEdit - Feld als String - Wert an den SQL - String übergeben. Baue mir nämlich einen SQL - String zusammen.
Zur Zeit sieht das so aus:
Delphi-Quellcode:
Wo kommen da die Parameter rein ?Query.SQL[1] := 'WHERE LEISTUNG > ''' + TEdit1.Text + ''''; Gruss Holger |
Re: TEdit -> Kommazahl -> SQL
Delphi-Quellcode:
Query.SQL[1] := ' WHERE LEISTUNG > :PMIN ';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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