Autor Beitrag
mtm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

Windows 10 Pro 64 Bit
Delphi XE 6
BeitragVerfasst: Fr 09.04.10 11:59 
Hallo zusammen !
Ich arbeite seit kurzem mit Zeos 6.6, ich möchte nun per GetTableNames die Tabellen einer Datenbank auslesen. Funzt eigentlich auch ganz gut, ich habe nur ein Problem. Ich möchte gerne nur die User-Tabellen und nicht die System-Tabellen zurückbekommen. bei ADO-Connection gibt es dafür einen Parameter, bei Zeos nicht.
Kann mir jemand einen Tip geben, wie ich das bewerkstelligen kann.

Danke im Voraus
mtm
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.04.10 14:52 
Z.B. so :

ausblenden Delphi-Quelltext
1:
2:
if pos ('$',TableName) = 0 then begin
...


Das geht zumindest, sofern man sich an gewisse Richtlinien hält und nicht in den eigenen TabellenNamen ein $ vorkommt.

_________________
Gruß
Hansa
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 09.04.10 14:56 
Kannst du nicht in den ADO Quellcode reinschauen, wie die das machen?

_________________
PROGRAMMER: A device for converting coffee into software.
mtm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

Windows 10 Pro 64 Bit
Delphi XE 6
BeitragVerfasst: Fr 09.04.10 16:31 
Hilft mir leider auch nicht weiter, die machen das über ein ADOConnection.OPENSCHEMA.
Das hab' ich bei Zeos ja nicht zur Verfügung.

Dabei tut sich ein weiteres Problem auf.
System-Tables kann ich über das '$' im Namen zwar von User-Tables unterscheiden, wie unterscheide ich aber Tables von Views ?


Zuletzt bearbeitet von mtm am Fr 09.04.10 17:47, insgesamt 1-mal bearbeitet
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 09.04.10 16:50 
In den meisten Fällen kennt man doch die Datenbank, mit der man arbeitet, und weiß dann, ob es eine Tabelle oder ein View ist?

_________________
PROGRAMMER: A device for converting coffee into software.
mtm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

Windows 10 Pro 64 Bit
Delphi XE 6
BeitragVerfasst: Fr 09.04.10 17:47 
Vielleicht hätte ich sagen sollen, was ich eigentlich machen möchte.
Ich möchte ein kleines Progrämmchen entwickeln, mit dem ich Firebird-DB's anschauen und verwalten kann. Es soll also für alle DB's funktionieren.

Habe aber einen Weg gefunden :
Ich lese einfach die SYSTEM-Tabelle 'RDB$RELATIONS' aus. Da stehen alle Infos drin, die ich brauche.