![]() |
Datenbank: MS Access • Zugriff über: ADO
NULL-Werte auf String casten?
Ich lese Daten mittels TADOQuery aus eine Datenbank (derzeit testweise Access, aber eigentlich unabhängig davon). Manche der Felder sind leider leer (NULL). Ich möchte beim Einlesen dieser Felder einen Leerstring erzeugen, erhalte aber immer einen Cast-Error ("Ungültige Variant-Typumwandlung").
Delphi-Quellcode:
Was muss man machen, damit es funktioniert?
var AFeld : String;
AFeld := myADO['Feld']); // Fehler, falls Inhalt von 'Feld' = NULL AFeld := String(myADO['Feld'])); // produziert den gleichen Fehler |
Re: NULL-Werte auf String casten?
Schau dir mal
Delphi-Quellcode:
an.
TADOQuery.FieldByName('spaltenname').AsString
|
Re: NULL-Werte auf String casten?
Geht leider auch nicht...
Delphi-Quellcode:
verzweifelt...
AFeld := myADO['Feld'].AsString; // gleicher Fehler falls NULL
if myADO['Feld'].IsNull then AFeld := '' else AFeld := myADO['Feld']; // Fehler: "Variante referenziert kein Automatisierungsobjekt" ??? |
Re: NULL-Werte auf String casten?
Hast du gelesen, was ich geschrieben habe?
Delphi-Quellcode:
var AFeld : string;
begin AFeld := myADO.FieldByName('Feld').AsString; : |
Re: NULL-Werte auf String casten?
Hallo Omata! Vielen Dank, hat tatsächlich geklappt. Super! Sorry, ich war auf das AsString fixiert, das bei myADO['Feld'] nicht funktioniert.
Worin unterscheiden sich denn die Zugriffe myADO['Feld'] und FieldByName('Feld')? |
Re: NULL-Werte auf String casten?
MyADO["FeldName"] liefert den Feldinhalt als Variant, wohingegen MyADO.FieldByName("FeldName") eine Instanz vom Typ TField liefert.
|
Re: NULL-Werte auf String casten?
Vielen Dank für die Erklärung.
Gibt es Performanz-Empfehlungen für die eine oder andere Art? Oder ist der Zugriff gleich schnell? |
Re: NULL-Werte auf String casten?
Hallo,
unabhängig von der Lösung noch mein Senf dazu. :P Ich persönlich mag keine NULL Werte in der Datenbank. Ich schreibe in sämtliche Felder beim neuen Datensatz zumindest Standardwerte. Wenn dann ein Feld NULL sein sollte, ist was schiefgelaufen :wink: bis dann... |
Re: NULL-Werte auf String casten?
Zitat:
![]() |
Re: NULL-Werte auf String casten?
Zitat:
Cheers, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 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 by Thomas Breitkreuz