AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TField.AsDateTime Exception?
Thema durchsuchen
Ansicht
Themen-Optionen

TField.AsDateTime Exception?

Ein Thema von Mavarik · begonnen am 10. Dez 2015 · letzter Beitrag vom 10. Dez 2015
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#1

TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:37
Datenbank: SQLite • Version: 3.x • Zugriff über: FireDac
Aus Data.DB
Delphi-Quellcode:
function TField.GetAsDateTime: TDateTime;
begin
  raise AccessError('DateTime'); { Do not localize }
end;
Ok, Also jeder Aufruf von
Delphi-Quellcode:
var
  D : TDateTime.
  FD : TFDQuery;
begin
// ..
  D := FD.FieldByName('LastChange').AsDateTime;
// ..
end;
Erzeugt eine Exception... (Ich steh gerade auf dem Schlauch)

Wo ist der Trick den ich gerade nicht sehe?

Mavarik
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
137 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:41
function GetAsDateTime: TDateTime; virtual;
und ist bspw. in TStringField überschrieben mit
Result := StrToDateTime(GetAsString);
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:41
Ich nehme an, das dies die Standardmethode ist und in abgeleiteten Klassen entsprechend überschrieben wird.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:50
Ich nehme an, das dies die Standardmethode ist und in abgeleiteten Klassen entsprechend überschrieben wird.
Ja klar, aber ein FDQuery.FieldbyName('LastChange') hat als Result ein TField, welches nicht überschrieben ist..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:52
Es wird aber die entsprechende Ableitung zurückgegeben: IntegerField, StringField, usw.
Markus Kinzler
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
137 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 14:54
[QUOTE=Mavarik;1323977]
Ja klar, aber ein FDQuery.FieldbyName('LastChange') hat als Result ein TField, welches nicht überschrieben ist..
Was da zurückkommt, ist von TField abgeleitet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 15:32
Das nennt sich Polymorphie
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 16:13
[QUOTE=sahimba;1323981]
Ja klar, aber ein FDQuery.FieldbyName('LastChange') hat als Result ein TField, welches nicht überschrieben ist..
Was da zurückkommt, ist von TField abgeleitet.
Wenn das so wäre, würde ja die abgeleitete Methode aufgerufen werden... Ist aber nicht so!
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 16:25
Wie sieht denn der Feld-Typ in der DB aus und verwendest Du bei FD irgendwelche Typ-Mappings?
Bei mir geht's nämlich.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: TField.AsDateTime Exception?

  Alt 10. Dez 2015, 16:32
Wie sieht denn der Feld-Typ in der DB aus und verwendest Du bei FD irgendwelche Typ-Mappings?
Bei mir geht's nämlich.
Keine Typ-Mappings...

Nur der "Query" kann das nicht, wenn ich

Delphi-Quellcode:
function GetLastChange: TDateTime;
begin
  Result := FDBase.SQLConnection.ExecSQLScalar('SELECT LastChange FROM FOOTABLE order by LastChange DESC LIMIT 1');
end;
funktioniert es...
  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 09:43 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