![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos
Konvertierungsfehler bei Funktion
Hallo zusammen,
mit Auszug:
Delphi-Quellcode:
möchte ich das Ergebnis einer Subtraktion summieren.
FQuery1.SQL.add('sum (feld1 - feld1) as ergebnis');
gesamtzeit := FQuery1.FieldByName('ergebnis').AsDateTime; Das funktionier m.E. auch, bis ich bei der Zuweisung an "gesamtzeit" einen error: invalid Typconversion bekomme. gesamtzeit ist vom Type TdateTime. Was läuft falsch? EDIT : sorry, klar Schreibfehler, muss feld1 - feld2 heissen |
AW: Konvertierungsfehler bei Funktion
ein TDateTime enthält einen Zeitpunkt ( als Uhrzeit). Subtrahiert man zwei Zeitwerte enzhält man eine Zeitspanne, Dies ist keine Zeitpunkt mehr. Erst recht wenn man diese Werte anschliessend addiert.
Welche Uhrzeit entspricht den z.B. 10 Min + 8 Min +5 Min? |
AW: Konvertierungsfehler bei Funktion
Zitat:
Ich bin automatisch davon Ausgegangen, das in Feld1,Feld2 Schreibfehler? ein Zeitpunkt seine Heimat gefunden hat. Gruß K-H |
AW: Konvertierungsfehler bei Funktion
Imho entsteht eine Zeitspanne wenn man 2 (Datum/)Zeitwerte von einander abzieht.
16 Uhr - 8 Uhr ergibt eine Zeitspanne von 8 Std. Nach Deiner Interpretation würde es ja einen Mittelwert also 12 Uhr ergeben. Aber auch dann wäre die Frage was dann welches Uhrzeit/Datum dann 5 * 12 Uhr ( wenn alle Werte einer Woche addiert werden) ergeben würde. |
AW: Konvertierungsfehler bei Funktion
Müsste bei
Zitat:
|
AW: Konvertierungsfehler bei Funktion
Zitat:
|
AW: Konvertierungsfehler bei Funktion
ja, war ein Tippfehler,
das mit der Zeitspanne leuchtet mir ein. Wenn ich die Abfrage direkt in der Datenbank absetzte bekomme ich einen Dezimalwert. Heißt das ich muss als Datentyp einen Gleitkommatypen nehmen ? |
AW: Konvertierungsfehler bei Funktion
Ein TDateTime ist ja ein Double vor dem Komma steht das Datum, dahinter der Zeitanteil.
Das Problem dütfte die Interptretation des Wertes sein. Zeitspannen würde ich in einem Integer speichern ( Zeit in Millisekunden) |
AW: Konvertierungsfehler bei Funktion
Zitat:
Ich würde den Wert in Delphi zunächst an einen Double zuweisen und den dann so formatieren, das man etwas damit anfangen kann. Die Einheit des Dezimalwertes wäre demnach 'Tage'. So würde der Wert '1.25' der Zeitspanne 'Ein Tag und 6 Stunden entsprechen'. |
AW: Konvertierungsfehler bei Funktion
ich danke euch recht herzlich
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 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-2025 by Thomas Breitkreuz