Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Komma eingabe (https://www.delphipraxis.net/49909-komma-eingabe.html)

Sharky 18. Jul 2005 09:31

Re: Komma eingabe
 
Hai cell,

ich habe mir deinen obigen Code noch einmal angesehen :shock:
Eines verstehe ich nicht. Warum machst Du für jede Änderung ein eigenes .ExecSQL? Viel einfacher, und übersichtlicher, wäre es doch das alles in einem Rutsch zu machen. Auch ist das mit der Funktion updatesqlz nicht so glücklich.
Um genau helfen zu können müsste man natürlich wissen welche Datenbank Du verwendest und wie Du auf diese zugreiffst.

Ich würde das ganze einfach so machen (die Fehlerprüfungen müssen natürlich noch rein:
Delphi-Quellcode:
begin
  Query1.Close;
  Query1.SQL.Text :=
    'UPDATE friktionstest ' + #10 +
    'SET ' + #10 +
    'Anfangsgewicht_Scheibe = :pAnfangsgewicht_Scheibe ,' + #10 +
    'Anfangsgewicht_Belag_vorne_oben = :pAnfangsgewicht_Belag_vorne_oben ,' + #10 +
    'Anfangsgewicht_Belag_vorne_unten = :pAnfangsgewicht_Belag_vorne_unten ,' + #10 +
    'Anfangsgewicht_Belag_hinten_oben = :pAnfangsgewicht_Belag_hinten_oben ,' + #10 +
    'Anfangsgewicht_Belag_hinten_unten = :pAnfangsgewicht_Belag_hinten_unten ,' + #10 +
    'Endgewicht_Scheibe = :pEndgewicht_Scheibe ,' + #10 +
    'Endgewicht_Belag_vorne_oben = :pEndgewicht_Belag_vorne_oben ,' + #10 +
    'Endgewicht_Belag_vorne_unten = :pEndgewicht_Belag_vorne_unten ,' + #10 +
    'Endgewicht_Belag_hinten_oben = :pEndgewicht_Belag_hinten_oben ,' + #10 +
    'Endgewicht_Belag_hinten_unten = :pEndgewicht_Belag_hinten_unten ' + #10 +
    'WHERE Testnummer = :pTestnummer';
  Query1.ParamCheck := True; // Parameter verarbeiten. EinParameter
                             // beginnt in der SQL-Anweisung mit einem :
  with Query1 do
  begin
    ParamByName(':pAnfangsgewicht_Scheibe').AsFloat := StrToFloat(txtscheibe.Text);
    ParamByName(':pAnfangsgewicht_Belag_vorne_oben').AsFloat := StrToFloat(txtbelagvo.Text);
    // Hier die weiteren Parameter für das SET
    ParamByName('pTestnummer').AsInteger := IntToStr (frmtestauswahl.cbotestnummer.Text);
    ExecSQL;
  end;
end;

Jelly 18. Jul 2005 11:00

Re: Komma eingabe
 
In SQL werden Kommazahlen durch Punkte (.) getrennt. Auf deinem Windows allerdings werden Kommazahlen sicherlich mit einem Komma (,) ein- und ausgegeben. Da liegt der Fehler.

jfheins 18. Jul 2005 11:05

Re: Komma eingabe
 
Schreib' einfach z.B. im OnCreate ein
Delphi-Quellcode:
   DecimalSeparator := '.';
;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 2 von 2     12   

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