AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Welche Feldtypen für Numeric in Firebird50
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Feldtypen für Numeric in Firebird50

Ein Thema von NoName1 · begonnen am 1. Mär 2024 · letzter Beitrag vom 2. Mär 2024
Antwort Antwort
NoName1

Registriert seit: 8. Mär 2018
197 Beiträge
 
Delphi 12 Athens
 
#1

Welche Feldtypen für Numeric in Firebird50

  Alt 1. Mär 2024, 16:21
Datenbank: FireBird • Version: 5 • Zugriff über: egal
Guten Tag Entwickler,
Nachdem ich mit der Datenbank von FireBird 2.5 auf FireBird 5.0 umgestiegen bin, gibt es einige Schwierigkeiten beim Ausführen des Programms.

Delphi-Quellcode:
  sqlbuch.Close;
  sqlbuch.SQL.Clear;
  sqlbuch.SQL.Add('select sum(SOLLBETRAG) as tempsumme from BUCHUNGENTEMP '); // hier wird abgebrochen
  sqlbuch.ExecQuery;
  Result := sqlbuch.FieldByName('tempsumme').AsCurrency;
  sqlbuch.Close;
In der Meldung, siehe auch den Anhang, wird "Unbekannter DatenTyp" ausgegeben. In der Tabelle ist die Spalte "Sollbetrag" als Typ Numeric (10,2) angelegt. Als welchen Typ soll den nun ein Numerisches Feld angelegt werden?

Vielen Dank für Eure Hilfestellungen.
Miniaturansicht angehängter Grafiken
unbenkant-daten-typ.png  

Geändert von NoName1 ( 1. Mär 2024 um 16:26 Uhr)
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
599 Beiträge
 
Delphi XE6 Enterprise
 
#2

AW: Welche Feldtypen für Numeric in Firebird50

  Alt 1. Mär 2024, 16:36
Bei Firebird ab Version 4 haben Aggregate auf DECIMAL bzw NUMERIC Datentypen den Datentyp DECFLOAT. Damit kann Deine Zugriffskomponente nichts anfangen.
Vielleicht das Ergebnis casten, etwa auf DOUBLE PRECISION.
Code:
SELECT CAST(sum(SOLLBETRAG) AS DOUBLE PRECISION) ...
oder
Code:
SELECT CAST(sum(SOLLBETRAG) AS NUMERIC(10,2)) ...
wenn das denn geht.
  Mit Zitat antworten Zitat
NoName1

Registriert seit: 8. Mär 2018
197 Beiträge
 
Delphi 12 Athens
 
#3

AW: Welche Feldtypen für Numeric in Firebird50

  Alt 2. Mär 2024, 10:13
Vielen Dank für die Antwort. War genau das Richtige.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Welche Feldtypen für Numeric in Firebird50

  Alt 2. Mär 2024, 11:36
Was hat SOLLBETRAG denn für einen Typ?
SUM müsste doch denselben Typ rausgeben.
OK, scheinbar nicht.
Zitat:
SUM(DECIMAL(18,2)) has type DECIMAL(34,2) which is internally INT128.
https://groups.google.com/g/firebird.../c/Mj_g3c3GLfA

Und dann wird da auch noch über was vonwegen DataTypeCompatibility = 3.0 geredet.
https://github.com/mariuz/flamerobin/issues/205
$2B or not $2B

Geändert von himitsu ( 2. Mär 2024 um 11:42 Uhr)
  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 02:10 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