![]() |
Re: NULL-Werte auf String casten?
Zitat:
gibt es da irgendwo ein Delphi-Beispiel? in google hab' ich nur die üblichen Verweise auf TADO... gefunden und ![]() Gruß K-H |
Re: NULL-Werte auf String casten?
Zitat:
|
Re: NULL-Werte auf String casten?
Zitat:
![]() Zitat:
|
AW: NULL-Werte auf String casten?
Gemässe Alzaimar liefert MyADO["FeldName"] den Feldinhalt als Variant (siehe oben).
Warum gelingt mir dann die Zuweisung VAR such: VARIANT; .. .. such := ADOQuery1['Suchwert']; nicht. Ist der Feldinhalt NULL, kommt die übliche Fehlermeldung: Could not convert variant of type (Null) into type (OleStr) Zurzeit arbeite ich mit FieldByName würde NULL aber gerne explizit abfangen. Tools: ACCESS recht neu, DELPHI Berlin Danke für eine Begründung. |
AW: NULL-Werte auf String casten?
Gibt es kein
Delphi-Quellcode:
?
ADOQuery1['Suchwert'].IsNull
Verwendbar zB in einem if:
Delphi-Quellcode:
Sherlock
if not ADOQuery1['Suchwert'].IsNull then
such := ADOQuery1['Suchwert']; |
AW: NULL-Werte auf String casten?
Eventuell sowas:
Delphi-Quellcode:
VAR
such: VARIANT; .. .. if not VarIsEmpty(ADOQuery1['Suchwert']) then such := ADOQuery1['Suchwert']; |
AW: NULL-Werte auf String casten?
@Sherlock
Soweit ich weiß, Nein! NULL bedeutet ja, daß ein Feld leer ist. Das wiederum sollte in der Query abgefangen werden, falls notwendig. NULL ist eine Information, die nur in der DB existiert. Mit dem
Delphi-Quellcode:
wird NULL zu einem Leerstring was aber nicht heißt, daß ein LeerString=NULL ist.
.Asstring
Gruß K-H |
AW: NULL-Werte auf String casten?
Danke für die schnellen Rückmeldungen.
Zusammengefasst komme ich nun zu folgenden Erkenntnissen: VAR such: STRING; .. .. IF VarIsClear(ADOQueryAuto['Suchbegriff']) THEN ShowMessage('not assigned') ELSE ShowMessage('assigned'); IF VarIsEmpty(ADOQueryAuto['Suchbegriff']) THEN ShowMessage('NULL') ELSE ShowMessage('not NULL'); (* zwar einfach .. *) such := ADOQueryAuto.FieldByName('Suchbegriff').AsString; (* .. oder aus meiner Sicht besser *) IF VarIsEmpty(ADOQueryAuto['Suchbegriff']) THEN such := ADOQueryAuto['Suchbegriff'] ELSE such := '' (* .. oder etwas anderes *); Es gibt keine Fehlermeldungen mehr und ich denke es läuft (ohne genaue Checks). Etwas allerdings bleibt unbeantwortet. Warum wird die Zuweisung vari := ADOQueryAuto['Suchbegriff']; an den Typ VARIANT nicht akzeptiert ? Ist der Term ADOQueryAuto['Suchbegriff'] evtl. gar nicht vom Typ VARIANT ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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