AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TSQLQuery mit Floatvariable
Thema durchsuchen
Ansicht
Themen-Optionen

TSQLQuery mit Floatvariable

Ein Thema von sunshineh · begonnen am 17. Jun 2008 · letzter Beitrag vom 17. Jun 2008
Antwort Antwort
sunshineh

Registriert seit: 8. Apr 2008
38 Beiträge
 
#1

TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 08:13
Datenbank: Oracle, MSSQL, MySQL • Zugriff über: dbExpress
Hallo,
ich habe in einem Array mehrere Floatvariable abgespeichert. Diese Werte möchte ich nun mit Hilfe einer SQLQuery in eine schon vorhandene Datenbank einfügen.
z.B. so:
INSERT INTO Tabname (Time, S1, S2, S3) VALUES (Timestamp, 1,234, 2,456, 5,322)

Nun bekomme ich immer die Fehlermeldung, dass ich zuviele Werte in die Datenbank eintragen möchte, da Delphi das Komma natürlich als Trennung sieht. Hab auch schon verschiedene Zeichen wie Klammer und Anführungszeichen versucht, aber das Komma wird trotzdem als Trennung gesehen.

Wie gehe ich da nun am Besten vor?!

Gruß und Danke, sunshineh
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 08:14
Verwende den Punkt als Dezimaltrenner.INSERT INTO Tabname (Time, S1, S2, S3) VALUES (Timestamp, 1.234, 2.456, 5.322)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 08:15
Er kann natürlich die Kommas der Feldtrennung nicht von deinen Dezimaltrennern unterscheiden. Je nach DBMS/Einstellung '1,0' oder 1.0 verwenden
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 08:29
Hallo,

oder gleich Parameter

INSERT INTO Tabname (Time, S1, S2, S3) VALUES (Timestamp, :S1, :S2, :S3)

ParamByName('S1').AsFloat:= 1.234; usw.



Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 08:52
Die Version mit Parametern ist eh der bessere / schönere / effektivere Weg.
Dann bist Du flexibler.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 09:34
Hallo,

unter unter Oracle u.U. auch schneller,
falls die Query mehrfach verwendet wird (Query-Cache).


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: TSQLQuery mit Floatvariable

  Alt 17. Jun 2008, 10:17
Und du gehst dem SQL-Injection Sicherheitsproblem aus dem weg ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 17:41 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