Entwickler-Ecke
Datenbanken - tDataSet erkennen ob Stringfeld char oder varchar ist
Klabautermann - Mi 28.12.11 17:20
Titel: tDataSet erkennen ob Stringfeld char oder varchar ist
Hallo,
ich habe eine Funktion, welche tDataSets aus beliebigen Quellen bekommt und Informationen über dieses Ausgeben soll. Unter anderen auch den Feldtypen. Jetzt habe ich aber das Problem, dass sowohl Char- als auch Varchar-Felder den tDataSet Feldtypen ftString zugewiesen bekommen. Ich würde aber gerne unterscheiden, ob dieses Feld in der darunterliegenden Datenbank ein char oder ein varchar Feld war. Gibt es eine Möglichkeit dies zu tun?
Gruß
Klabautermann
Singlepin - Do 29.12.11 15:56
Hallo Klabautermann,
bei MySQL würde ich den Feldtyp so ermitteln:
SQL-Anweisung
1:
| SHOW COLUMNS FROM `DB`.`Tabelle` LIKE "Feldname"; |
Aber es gibt sicher noch ander Wege, SHOW CREATE TABLE ...
baka0815 - Do 29.12.11 18:16
Da nur die Datasets weitergereicht werden, ist ein Zugriff auf die Meta-Daten per SQL sicherlich kein Weg - vor allem, da dies bei jeder DB anders ist.
Klabautermann - Fr 30.12.11 09:45
Hallo,
leider hat
baka0815 recht. Die entsprechende Funktion weiß nichts von den dahinter stehenden Datenbanken und soll es auch nicht wissen, außerdem würde ich sie ungern durch zusätzliche Querys ausbremsen. Ich hatte gehöft, das ich irgendwo in den Innereien von tDataset ein indikator befindet, den ich bisher übersehen habe.
Dennoch danke für den Versuch,
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!