AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TEdit -> Kommazahl -> SQL

Ein Thema von HolgerCW · begonnen am 14. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:18
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
  Mit Zitat antworten Zitat
peter12

Registriert seit: 28. Feb 2005
Ort: Oberneukirchen ,Österreich
183 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:26
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:27
Was für einen Typ hat das Feld in der DB?
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#4

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:29
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:35
man könnte auch (SQL-)Parameter verwenden, dann ist die manuelle Wandlung überflüssig.
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:36
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
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#7

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:43
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:

Query.SQL[1] := 'WHERE LEISTUNG > ''' + TEdit1.Text + '''';
Wo kommen da die Parameter rein ?

Gruss

Holger
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: TEdit -> Kommazahl -> SQL

  Alt 14. Aug 2007, 15:54
Query.SQL[1] := ' WHERE LEISTUNG > :PMIN ';
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz