Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mittels ADO Eigenschaften von Tabellen einer DB ermitteln... (https://www.delphipraxis.net/11771-mittels-ado-eigenschaften-von-tabellen-einer-db-ermitteln.html)

markon 13. Nov 2003 14:43


mittels ADO Eigenschaften von Tabellen einer DB ermitteln...
 
hallo.
falls der betreff eine wenig irreführend ist, hier die ausformulierte fragestellung:
also, ich habe eine datenbank auf die ich mittels ado-komponenten zugreife. in der datenbank sind mehrere tabellen. in meinem programm ist eine datenverwaltung eingebaut.
wenn man nun bei einer tabelle datensätze editieren, löschen, neu anlegen möchte, so muss man ja die felder der tabelle kennen, zwecks länge von dem namen-feld usw.
wie kann ich im programm diese eigenschaften der datenbank herausbekommen/auslesen ?
thx 4 help
marcus

Bernhard Geyer 14. Nov 2003 08:45

Re: mittels ADO Eigenschaften von Tabellen einer DB ermittel
 
Indem Du über die Systemtabellen gehst.

Je nach Datenbanksystem gibt es verschiedene Systemtabellen in der alle nötigen Informationen abgefragt werden können (z.B. bei MS-SQL die Tabelle syscolumns). Jedoch ist dies Aufwendig und du müsstest dir noch weitere Infos besorgen (was bedeutet Spalte xyz genau)

Alternativ könntest Du mittels

select * from <tabelle> where 1 = 2

eine leere Abfrage erstellen. Im Ergebnisdataset könntest Du einfach die Liste der Fields durchgehen, deren Typ (TField.DataType) bestimmen sowie die Größe (TField.Size).
Jedoch mußt Du einmal überprüfen ob bei Deiner verwendeten Datenbank immer richtige Werte zurückkommen)

markon 14. Nov 2003 10:07

Re: mittels ADO Eigenschaften von Tabellen einer DB ermittel
 
ok. danke erstmal.

(habe vergessen zu erwähnen das ich mit ner access-datenbank arbeite)

eXOs 14. Nov 2003 10:27

Re: mittels ADO Eigenschaften von Tabellen einer DB ermittel
 
Hi,

du könntest evtl. diesen Befehl benutzen:

Die Datenbank muss geöffnet sein

show tables;

Dann müsstest du die vorhandenen Tabellen angezeigt werden!

Gruß eXOs


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz