tDataSet erkennen ob Stringfeld char oder varchar ist
spacer
Autor Nachricht
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic starofftopic star
Veteran
Beiträge: 6350
Erhaltene Danke: 55

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 28.12.11 17:20 
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
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Singlepin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

WinXP
Delphi6 MySQL
BeitragVerfasst: Do 29.12.11 15:56 
Hallo Klabautermann,

bei MySQL würde ich den Feldtyp so ermitteln:

ausblenden SQL-Anweisung markieren
1:
SHOW COLUMNS FROM `DB`.`Tabelle` LIKE "Feldname";


Aber es gibt sicher noch ander Wege, SHOW CREATE TABLE ...
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 453
Erhaltene Danke: 10

Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, Java, C#
BeitragVerfasst: 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.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Klabautermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic starofftopic star
Veteran
Beiträge: 6350
Erhaltene Danke: 55

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 30.12.11 09:45 
Hallo,

leider hat user profile iconbaka0815 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
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home