AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Problem

Ein Thema von BloodySmartie · begonnen am 17. Mär 2008 · letzter Beitrag vom 17. Mär 2008
Antwort Antwort
BloodySmartie
(Gast)

n/a Beiträge
 
#1

Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Problem

  Alt 17. Mär 2008, 19:01
Datenbank: Posgresql • Version: 8.3 • Zugriff über: ZEOS DBO
Hallo liebe Mitglieder!

Ich habe ein Problem, das hier scheinbar schon öfters diskutiert wurde. Nachdem ich die Suchfunktion strapaziert und einige Lösungen ohne Erfolg ausprobiert habe, muss ich mich nun leider doch mit dem leidigen Thema an euch wenden.

Ich lese den Wert eines Feldes der Query-Ergebnismenge folgendermaßen aus:
Delphi-Quellcode:
//cre.phone_biz ist von Typ ansistring
crec.phone_biz:=utf8toansi(query.FieldValues['phone_biz']);
Wenn nun der Wert des Feldes phone_biz=NULL ist, wird mir die EVariantTypeCastError - Exception geworfen. Kann mir jemand ne möglichst elegante Methode geben, um dieses Problem zu lösen?

Danke!!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Probl

  Alt 17. Mär 2008, 19:06
Entweder in der Abfrage (IIF, Case..when)
oder vorher abfragen:
if not query.FieldByName('phone_biz').isNull then crec.phone_biz:=utf8toansi(query.FieldByName('phone_biz').Value) else crec.phone_biz := '';
Markus Kinzler
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#3

Re: Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Probl

  Alt 17. Mär 2008, 19:13
Ein VarToStr dazwischen müsste auch gehen:

crec.phone_biz:=utf8toansi(VarToStr(query.FieldValues['phone_biz']));
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
BloodySmartie
(Gast)

n/a Beiträge
 
#4

Re: Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Probl

  Alt 17. Mär 2008, 19:16
Aaaah! Cool! vartostr! Die Erkenntnis ist über mich gekommen. Sehr kurz, sehr elegant. Vielen Dank! Und vielen Dank auch für die andere Lösung - ich hatte es mit
query.FieldByName('phone_biz').isempty versucht, weil ich das auf die Schnelle in der Hilfe fand. Dann gabs aber wieder ne andere Exception.
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#5

Re: Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Probl

  Alt 17. Mär 2008, 19:21
Ich kannte jetzt die ZEOS-Komponenten nicht, aber da sie der üblichen Nomenklatur zu folgen scheinen, könntest du natürlich auch gleich mit FieldByName().AsString abfragen...
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
BloodySmartie
(Gast)

n/a Beiträge
 
#6

Re: Und schon wieder: ZEOS TZReadOnlyQuery.fieldvalues Probl

  Alt 17. Mär 2008, 19:28
Du hast Recht, Peinhard - damit gehts sogar noch eleganter*juchu*
  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 15:02 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