Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL um Tabellen und Feldnamen rauszufinden? (https://www.delphipraxis.net/148907-sql-um-tabellen-und-feldnamen-rauszufinden.html)

Yc4s1vtz 10. Mär 2010 17:39

Datenbank: allgemeine • Version: ?? • Zugriff über: BDE

SQL um Tabellen und Feldnamen rauszufinden?
 
Hallo,

also ich wusste nicht wo ich das thema hinschieben sollte.

Ich frage mich wie ich die Tabellen namen und Feldnamen anzeigen lassen kann?

ziel der ganzen sache ist das ich die Tabellen inklusive Spalten in einer listbox anzeigen lassen möchte

wie sollte ich da vorgehen?

VG Ötzgür

Jürgen Thomas 10. Mär 2010 18:03

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Hallo,

dazu gibt es keine allgemeine Lösung. SQL-Standard sind Abfragen auf INFORMATION_SCHEMA, aber jeder DB-Hersteller kann es anders lösen. Und die BDE schränkt die Abfragemöglichkeiten erheblich ein.

Du musst die Frage also schon genauer spezifizieren.

Gruß Jürgen

PS. Datenbanken ist schon das richtige Unterforum.

Yc4s1vtz 10. Mär 2010 19:12

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
verdammt :(

das ist ja grade das problem
ich weiss es nicht genauer

ich will es ja allgemein halten

Yc4s1vtz 10. Mär 2010 19:14

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
es wäre schön

wenn ich zumindest die einzelnen datenbanken rausfinden würde
das wäre ein schritt in die richtige richtung

es muss unter mssql, oracle, db2, postgresql und mysql laufen
andere datenbanken setzen wir nicht ein

und da dachte ich mir ich mache das allgemeingültig

sprich man weiss ja nie wann man das nochmal gebrauchen kann :(

mkinzler 10. Mär 2010 19:19

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Das geht aber leider nicht allgemeingültig.

Btw: Bitte nicht Pushen. Hat noch niemand geantwortet, dann bearbeite bitte deinen letzten Beitrag

mschaefer 10. Mär 2010 21:14

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Du kannst ja ein Select auf die Systemtabellen der jeweiligen Datenbank absetzen.
Gibt es einen Fehler, dann war es halt die Falsche. Mit try .. except geht man dann zur nächsten über.

Grüße // Martin

Stevie 11. Mär 2010 06:20

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Ich weiß nicht, wie sehr du an die BDE gebunden bist, aber evtl wären die Zeos-Komponenten einen Blick wert, dort gibts eine Komponente (TZSQLMetadata), die dir die benötigten Daten aus einer Datenbank liefert. Und sämtliche von dir genannten Datenbanken werden unterstützt.

alzaimar 11. Mär 2010 06:32

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Die TADOConnection kann das.

hoika 11. Mär 2010 06:51

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Hallo,

bei der BDE geht es zumindestens auf DB-Ebene

DataBase.GetTables

Aber woher soll ein Programm wissen,
welche Datenbanken auf einem Server existieren ???

c:\data\data.db
d:\data\data.db
e:\data\data.db uups CD-Rom ;)
f:\data\data.db


Vergiss es am besten gleich oder besorg dir schon mal ein
schickes Wässerchen gegen die grauen Haare, die du bekommen wirst ;)


Heiko

nahpets 11. Mär 2010 07:27

Re: SQL um Tabellen und Feldnamen rauszufinden?
 
Hallo,

so riesig dürfte das Problem mit der BDE nun aber auch wieder nicht sein:

TSession liefert die Datenbanken.

Werden die dann der Reihe nach mit einer TDatabase verbunden, so können mit GetTableNames die Tabellen ermittelt werden und mit GetFieldNames die Spalten.

Sind also ca. drei Methodenaufrufe in drei geschachtelten For-Schleifen.

Über die ADO-Komponenten dürfte das mit einem ähnlichen Aufwand zu realisieren sein, man ist aber nicht mehr abhängig von der BDE, die auf neueren Betriebssystemen leider immer häufiger Probleme bekommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr.
Seite 1 von 3  1 23      

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