Autor Beitrag
Weide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Di 22.10.02 11:35 
Hallo,

ich schreibe gerade an einer Datenbanksuchfunktion und möchte sie möglichst universell halten. Vor der eigentlichen Suche muß ich deshalb herausfinden, um welchen Feldtyp es sich handelt (z.B. Integer oder String). Dazu verwende ich

"TQuery.FieldDefs.Find(Suchfeld)"

Anschließend erfolgt je nach Suchstruktur und Typ eine zur Laufzeit erstellte SQL-Anweisung. Das heißt, die Tquery ist zunächst ohne SQL-Anweisung, und jetzt kommt das eigentliche Problem:

Um die oben genannte Abfrage des Feldtypen zu starten, muß das TQuery zuvor den Tabellennamen wissen, sonst gibt's 'ne Fehlermeldung.

Zum Testen mache ich das mit "Select * from Suchfeld" und schmeisse das Ergebniss hinterher weg. Jetzt ist das Tquery aber entsprechdsn initialisiert. Das ist natürlich unelegant und zeitraubend. Gibt es eine einfachere Möglichkeit?

vielen Dank im Voraus

Weide
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 22.10.02 11:45 
Hi
eine Möglichkeit wäre, die Suchtabelle mit einer TTable zu öffnen, und daraus die Feldnamen und -typen zu lesen. Das dauert zwar auch etwas, aber es werden zumindest nicht die ganzen Datensätze übertragen. Bis jetzt war ich mit der Methode immer ganz zufrieden.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Weide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Di 22.10.02 12:12 
Titel: :-)
Hallo Lothar,

das klappt prima, vielen Dank :-)

Gruß Weide