Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL Tabellenstruktur (Felder) zur Laufzeit updaten (https://www.delphipraxis.net/67804-mysql-tabellenstruktur-felder-zur-laufzeit-updaten.html)

Berserker 20. Apr 2006 09:55

Datenbank: MySQL • Version: 4.0.26 • Zugriff über: CRLAB MyDAC VCL

MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
Hallo.

Ich würde gerne in mein Programm eine Prüfroutine integrieren, welche von meinen MySQL-Tabellen zur Laufzeit die Felder prüft und ggf. neue hinzufügt.

Also ein ALTER TABLE zur Laufzeit machen.
Das Programm müsste also die Struktur kennen und dann ggf. updaten.
Hat jemand von euch eine Idee wie man dieses bewerkstelligen könnte?

MfG, Ronny

mkinzler 20. Apr 2006 09:58

Re: MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
Die Metadaten von Mysql stehen in der Datenbank mysql.

Berserker 20. Apr 2006 10:02

Re: MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
Also mir geht es nicht direkt um die Tabellen in der DB mysql sondern um die Tabellen für meine Anwendung.

Also z.B. deine Tabelle "Adressen"
diese hat angenommen 5 Spalten und jetzt kommt nach dem Update der Anwendung eine neue Spalte dazu.

Dieses Feld müsste nun automatisch eingefügt werden.

MfG, Ronny

mkinzler 20. Apr 2006 10:04

Re: MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
In der Datenbank mit der Bezeichnung 'mysql' stehen die Metadaten aller vorhandene Datenbanken, also Tabelle, Felder usw. Hierüber kannst du die vorhandenen Felder deiner Tabelle abfragen und mit dem Sollzustand abgleichen und ggf. anpassen. Oder woaruf zielt deine Frage?

Berserker 20. Apr 2006 10:09

Re: MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
Habe gerade mal nachgesehen aber in den Tabellen in der DB mysql steht nichts über meine anderen Datenbank-Tabellen drin.

Ist es möglich das dies erst seit Version 4.1 geht?

MFG, Ronny

JohannesK 20. Apr 2006 14:49

Re: MySQL Tabellenstruktur (Felder) zur Laufzeit updaten
 
Hallo

Du bekommst die Liste Deiner Felder in der jeweiligen Tabelle über das SQL-Statement
SQL-Code:
SHOW COLUMNS FROM tabname
Damit kann du die Daten in beliebiger Form (mit den von Dir verwendeten Kompos z.B. in einer virtuellen Tabelle (TMyVirtualtable) ablegen und weiterverarbeiten.

Gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 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