![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FibPlus
Firebird BigInt - Fehler bei Bereichsüberprüfung
Moin DelphiPraxler,
in meiner Datenbank-Anwendung entsteht ein "Fehler bei Bereichsüberprüfung", wenn ich einem in der Datenbank als BigInt (20 Zeichen) deklarierten Feld einen Integerwert mit 10 Stellen zuweisen möchte. Der aktuelle Wert, bei dem Delphi meckert, ist 2.178.588.332 (die Größe einer mp4-Datei).
Delphi-Quellcode:
Dset_Datei.FieldByName('DATEIGROESSE').AsInteger := FileInfo.Size;
Liegt es möglicherweise am Parameter AsInteger, daß die Zuweisung nicht klappt. Ich habe auch bereits in den persistenten Feldern meines Datasets den DisplayWith des Feldes 'DATEIGROESSE' von 10 auf 20 gesetzt, der Fehler erscheint jedoch immer noch. Leider gibt es ja kein AsInt64 für die Zuweisung von Werten, die größer sind als 2.147.483.647, ich kann jetzt höchstens noch versuchen, den Wert AsVariant zuzuweisen. Die Variable File.Size ist vom Typ Int64. |
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
![]() .AsVariant nicht, aber es gäbe noch ein ein .Value Du scheinst ja einer der Wenigen zu sein, welcher die Bereichsüberprüfung in den Projektoptionen auch mal aktiviert hat. Denn sonst wäre der Fehler wohl nicht so schnell aufgefallen. :thumb: Tipp: Gib das nächste mal
Delphi-Quellcode:
ein und schau was dir die Autovervollständigung so alles anbietet,
Dset_Datei.FieldByName('DATEIGROESSE').As
vorallen welche Datentypen die angebotenen Dinge haben und such dir dort etwas Passendes raus. |
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Nja, der Variant ist ein Typ, welcher unter Anderem einen Int64 enthalten kann, also ist das eine gute Lösung.
Abgesehn von der "unnötigen" Formatkonvertierung, falls es doch einen passenden nativen Weg gäbe. Zitat:
Aber wenn dem nicht so ist. :? Zitat:
|
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Zitat:
Zitat:
Mir kam auch noch in den Sinn, einen String zu verwenden (unsaubere Lösung, ich weiß) oder mittels SQL-Statement zuzuweisen. Zitat:
Zitat:
|
GELÖST: Firebird BigInt - Fehler bei Bereichsüberprüfung
Zitat:
|
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Warum verwendest du nicht .AsInt64?:gruebel:
Oder ist das jetzt zu einfach.:-D |
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Zitat:
|
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
bitte um Entschuldigung, habe ich überlesen, aber
Bei mir unter D7 + FibPlus Version 6.9.9 gibt es .AsInt64. und in XE2 + FibPlus Version 7.2 gibt es ein .AsLarge was als Int64 definiert ist. |
AW: Firebird BigInt - Fehler bei Bereichsüberprüfung
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:24 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