![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: UniDAC
UniDAC Merkwürdigkeiten
Hallo...:P
Ich habe mein Project auf Berlin incl. UniDAC gehoben. Allerdings habe ich einen Fehler den ich nicht einordnen kann. :? Was früher ging, geht nicht mehr. :?
Code:
MasterDevice.Active := Boolean(Qry.FieldByName('F_ACTIVE').Value); // <- das geht (Test)
MasterDevice.IsValid := Boolean(Qry.FieldByName('F_ISVALID').AsInteger); // <- resultiert im Fehler MasterDevice.ConfigurationName := Qry.FieldByName('F_CONFIGURATION_NAME').AsString; Zitat:
Danke... :P |
AW: UniDAC Merkwürdigkeiten
Müsste doch so gehen oder ?
// <> 1 = False
Code:
MasterDevice.IsValid := Qry.FieldByName('F_ISVALID').AsInteger = 1;
|
AW: UniDAC Merkwürdigkeiten
Ich würde eher gegen 0 prüfen.
Delphi-Quellcode:
MasterDevice.IsValid := Qry.FieldByName('F_ISVALID').AsInteger <> 0;
|
AW: UniDAC Merkwürdigkeiten
Moin...:wink:
Habt ihr die Fehlermeldung gelesen? :wink: Unabhängig von der späteren Auswertung... Zitat:
Nachtrag: Ist das Boolean der Urheber? Trotzdem danke... :P |
AW: UniDAC Merkwürdigkeiten
Kannst du mal prüfen, was bei F_ISVALID für ein Feldtyp von UniDAC generiert wird? Wenn es ein TBooleanField ist, würde das dieses Verhalten erklären.
|
AW: UniDAC Merkwürdigkeiten
Mach ich...8-)
Kann aber eine Weile dauern... |
AW: UniDAC Merkwürdigkeiten
Zitat:
Ist F_ISVALID denn auch wirklich ein Integer? (ich hab schon Felder gesehen die sollten numerisch sei, es hatte dann aber nur für Alpha gereicht!) Neben dem DB-Typ wäre ja auch noch interessant ob Du im zugehörigen Select noch irgendwelche TypeCasts durchgeführt hast? Gruß K-H |
AW: UniDAC Merkwürdigkeiten
Liste der Anhänge anzeigen (Anzahl: 2)
Hallöle...8-)
Danke für deine Anteilnahme. :P 1. Es ist ein Integer Feld. Früher mit IBDAC war das kein Problem darauf via AsInteger zuzugreifen. 2. Meine Datenbankfelder kenne ich persönlich mit Namen... 8-) Da ist keine Verwechslung möglich. |
AW: UniDAC Merkwürdigkeiten
Schau mal hier - sieht ähnlich aus:
![]() |
AW: UniDAC Merkwürdigkeiten
Zitat:
Mich würde da nun nicht wundern, wenn datanbankseitig ein boolsches Feld wie ein Integer behandelt wird, aber nach außen durchaus als boolscher Wert "verkauft" wird. Wäre meiner Meinung nach aus durchaus sinnvoll. Habe mich immer wieder über solche Konstrukte amüsiert:
Delphi-Quellcode:
Die dritte Variante ist der berühmtberüchtigte Dritte von zwei möglichen Werten ;-)
if DataSet.FieldByName('Aktiv').AsBoolean = true then ...
if DataSet.FieldByName('Aktiv').AsBoolean = false then ... if DataSet.FieldByName('Aktiv').AsString = '' then ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 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