Entwickler-Ecke
Datenbanken - AsDate?
D. Annies - Mi 05.09.07 06:55
Titel: AsDate?
Hi, Delpher,
der Compiler meckert, wenn ich die neu angelegte Tabelle SyncTab füllen will:
Delphi-Quelltext
1: 2: 3: 4:
| TbSynctab.fieldbyname('WPK4NAME').asstring := TbSchueler.fieldbyname('WPK4NAME').asstring; TbSynctab.fieldbyname('GESCHLECHT').asstring := TbSchueler.fieldbyname('GESCHLECHT').asstring; TbSynctab.fieldbyname('GEBDAT').asdate := TbSchueler.fieldbyname('GEBDAT').asdate; TbSynctab.fieldbyname('TELEFON').asstring := TbSchueler.fieldbyname('TELEFON').asstring; |
Das Feld gebdat ist vom Datentyp date.
Wenn ich statt asdate asstring einsetze, geht es.
Muss die Zuweisung immer mit asstring erfolgen?
Dank für Hilfe,
Detlef
mkinzler - Mi 05.09.07 07:35
Wenn der zuzuweisende Typ identisch mit dem Zieltyp ist ist besser
.Value zu nehmen:
Delphi-Quelltext
1:
| TbSynctab.fieldbyname('GEBDAT').Value := TbSchueler.fieldbyname('GEBDAT').Value; |
alzaimar - Mi 05.09.07 08:27
Ich habe schon in meinen Delphi-Anfängen aufgehört, an 'AsDate' auch nur zu denken, so viel unverständliche Probleme habe ich damit bekommen. Ich verwende nur noch 'AsDateTime' und bekomme damit weniger schlaflose Nächte. Zudem wachsen meine Kopfhaare wieder (da ich sie mir nicht mehr vor Wut ausreiße).
D. Annies - Mi 05.09.07 08:32
Danke, ihr zwei.
@[quote]markus: Sollte ich dann immer, auch wenn beide string sind .value nehmen?
Gruß, Detlef
mkinzler - Mi 05.09.07 08:39
Imho ja.
alzaimar - Mi 05.09.07 08:41
.Value ist ein Variant und wird kleinere Typkonvertierungen automatisch vornehmen. Wenn Du weisst, das die Feldtypen kompatibel sind, kannst Du auch gleich
Delphi-Quelltext
1:
| DstTable['FieldName'] := SrcTable['OtherFieldName'] |
schreiben. Das ist imho hübscher. Aber bei Variants ist immer Vorsicht geboten, denn Zuweisungen inkompatibler Typen werden gnadenlos mit einer Exception bestraft. Auch sollte man Feldwerte vor der weiteren verarbeitung immer explizit in konkrete Typen (Integer, String, etc.) umwandeln, sonst fliegen einem die Exceptions nur so um die Ohren.
D. Annies - Mi 05.09.07 10:17
Nochmals vielen Dank für eure Erklärungen!
Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!