AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Herausbekommen, um welchen Feldtype es sich handelt?

Herausbekommen, um welchen Feldtype es sich handelt?

Ein Thema von smart · begonnen am 19. Jun 2005 · letzter Beitrag vom 21. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#1

Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 19. Jun 2005, 10:49
Datenbank: ABS • Version: 488 • Zugriff über: Datascore
Wie bekommt man bei einer Tabelle raus, um welchen Feldtype es sich handelt (Interger oder String, usw.)?
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:06
Hat denn Keiner einen Vorschlag?
Heike Kretschmann
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:13
Hallo Heike,

keine Ahnung von DataScore, aber ABSQuery.FieldByName('ID').DataType liefert dir die Werte, die in der Online-Hilfe unter TFieldType ausgewiesen werden.

Grüße vom marabu
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#4

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:15
öhm

Delphi-Quellcode:
var
  xTTable: TTable;

case xTTable.Fields[Index].DataType of
  ftCurrency: ;
  ftBlob: ;
  ftGraphic: ;
end;
ein strg+linksklick auf eines der ft* wörter sollte die passende unit öffnen in der alle anderen typen definiert sind, damit du weist welche datentypen es noch gibt


ich hoffe das taugt was
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:29
Zitat von marabu:
Hallo Heike,

keine Ahnung von DataScore, aber ABSQuery.FieldByName('ID').DataType liefert dir die Werte, die in der Online-Hilfe unter TFieldType ausgewiesen werden.

Grüße vom marabu
Vielen Dank, marabu.
Das hilft mir schon weiter. Nur wie bekomme ich das Angezeigt?
Edit1.Text := ABSQuery.FieldByName('ID').DataType; geht nicht! Da bekomme ich eine Fehlermeldung "Inkompatiebele Typen..".
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:32
Zitat von barf00s:
öhm

Delphi-Quellcode:
var
  xTTable: TTable;

case xTTable.Fields[Index].DataType of
  ftCurrency: ;
  ftBlob: ;
  ftGraphic: ;
end;
ein strg+linksklick auf eines der ft* wörter sollte die passende unit öffnen in der alle anderen typen definiert sind, damit du weist welche datentypen es noch gibt


ich hoffe das taugt was
Ja, alles Klaro, damit komme ich zurecht. Vielen Dank.

Heike.
Heike Kretschmann
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 10:41
Zitat von smart:
Nur wie bekomme ich das Angezeigt?Edit1.Text := ABSQuery.FieldByName('ID').DataType; geht nicht! Da bekomme ich eine Fehlermeldung "Inkompatiebele Typen..".
Um eine Aufzählung in einen String zu konvertieren, könnte man die Funktion GetEnumValue verwenden (Beispiele gibt's sicher genug im Forum).

ps@marabu: stimmt, warum kompliziert wenn's einfach geht
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 11:01
Zitat von smart:
Nur wie bekomme ich das Angezeigt?
Edit1.Text := DB.FieldTypeNames[ABSQuery.FieldByName('ID').DataType]; marabu
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 20. Jun 2005, 11:35
Hai Heike,

bei der ABS-DB ist sogar eine Funktion dabei welche dir den ABS-Feldtyp als String ausgibt.
Ich bin zur Zeit leider nicht zu Hause. Ich habe das ganze nämlich gerade selber gebraucht um mir aus einer ABSTable einen Delphi-Record mit einer Variablen pro Spalte zu erzeugen.

Ich kann dir das heute abend mal rüber geben. Oder Du schaust Dir mal den quellcode des DBManagers an der ja bei der ABS-DB dabei ist

[Edit]Hier mal ein Code der die Feldtypen einfach in ein Memo schreibt[/edit]
Delphi-Quellcode:
uses
  ABSConverts;

procedure TForm1.Button1Click(Sender: TObject);
var
  feldname : string;
  feldtyp : string;
begin
  Memo1.Clear;
  for ndx := 0 to Pred(ABSTable1.FieldCount) do
  begin
    feldname := ABSTable1.AdvFieldDefs[ndx].Name
    feldtyp := AftToStr(ABSTable1.AdvFieldDefs[ndx].DataType);
    Memo1.Lines.add (feldname + ' - ' + feldtyp);
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Herausbekommen, um welchen Feldtype es sich handelt?

  Alt 21. Jun 2005, 09:19
Zitat von Sharky:
Hai Heike,

bei der ABS-DB ist sogar eine Funktion dabei welche dir den ABS-Feldtyp als String ausgibt.
Ich bin zur Zeit leider nicht zu Hause. Ich habe das ganze nämlich gerade selber gebraucht um mir aus einer ABSTable einen Delphi-Record mit einer Variablen pro Spalte zu erzeugen.
Ich kann dir das heute abend mal rüber geben. Oder Du schaust Dir mal den quellcode des DBManagers an der ja bei der ABS-DB dabei ist
Vielen Dank. Haut hin.
Delphi-Quellcode:
uses
  ABSConverts;
Wie bis Du darauf gekommen? Ich habe es das ganze Wochenende versucht, ohne Erfolg! Wie kommt man auf sowas?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  feldname : string;
  feldtyp : string;
begin
  Memo1.Clear;
  for ndx := 0 to Pred(ABSTable1.FieldCount) do
  begin
    feldname := ABSTable1.AdvFieldDefs[ndx].Name
    feldtyp := AftToStr(ABSTable1.AdvFieldDefs[ndx].DataType);
    Memo1.Lines.add (feldname + ' - ' + feldtyp);
  end;
end;
Das kann ich nachvollziehen! Bis Du ABSExperte?

Vielen Dank auch an alle Anderen!
Heike Kretschmann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:58 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