Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Herausfinden, von welchem typ eine Variable ist

  Alt 26. Nov 2005, 22:13
Danke für den Hinweis, marabu

Ich muss ja nur leider bei der ParameterÜbergabe an die DB wissen, um welchen Typ es sich handelt, um entsprechend .AsString / .AsInteger / .AsDateTime etc. aufrufen zu können.


Hier mal grob zur Veranschaulichung:

Delphi-Quellcode:
procedure SetValue(AValue : Variant);
begin
  with Query do
  begin
    SQL.Text:= 'SELECT * FROM tDemotabelle WHERE Value = :Value);

// Hier müsste so eine Art Typ-Selection stattfinden
If AValue = IsString then
SQL.ParamByName(
'Value').AsString:= AValue;
If AValue = IsInteger then
SQL.ParamByName(
'Value').AsInteger:= AValue;
If AValue = IsDate then
SQL.ParamByName(
'Value').AsDate:= AValue;
end;
end;
Denn in die Spalten der Tabelle muss ja der Wert als korrekter Typ übergeben werden.
Deshalb scheint es mir, ich müsste erst einmal herausfinden, welchen Typs die Variable ist.

Aber wenn ich das richtig verstanden habe, übergibt der Compiler bei Variant einfach einen Pointer, ohne zu wissen, von welchem Ursprungstyp die Variable war, richtig?

D.h. ich müsste auf andere Weise übergeben, als welchen Typ der Wert in die DB aufgenommen werden soll. Dann mache ich mal bei diesem Gedanken weiter...



Dank und Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat