Entwickler-Ecke

Datenbanken - Prog-Update->neues DB-Feld->automatische Erstellung?


UGrohne - Fr 29.11.02 19:35
Titel: Prog-Update->neues DB-Feld->automatische Erstellung?
Hallo Leute,
ich brauche die beste Möglichkeit, um folgendes zu machen:

Ab und zu kommt es vor, dass bei einer neuen Version meiner DB-Software ein Feld in eine Tabelle hinzukommt. Wie kann ich jetzt am besten überprüfen, ob dieses Feld existiert und es dann geg. nacherstellen.

Gruß, Uwe


majolo - Fr 29.11.02 22:27

Hi UGrohne,

wenn ich dich richtig verstehe möchtest du wissen,wie du dein Programm updaten kannst.Und zwar so,dass erst geprüft wird ob neueste Version, wenn nein dann Update.Ich hatte dazu mal einen Thread:
http://www.auq.de/viewtopic.php?t=2668&highlight=updaten
Da steht auch der Link zu MakeUpdate. Eine sehr gute Freeware um einfach Software upzudaten.
Hoffe konnte dir helfen.
Gruss
majolo


UGrohne - Sa 30.11.02 02:07

Hast mich ein bissche falsch verstanden, das Software-Update ist kein Problem, da hab ich schon meine Progrämmchen für INternet-Update usw. Das Problem ist die zugrunde liegende Datenbank, da sollen die Tabellen geprüft und ggf. die neuen Spalten hinzugefügt werden (is Interbase)

Gruß


majolo - Sa 30.11.02 13:16

Werden die Tabellen von dir oder vom Benutzer geändert?Nämlich es ist möglich mit dem UpdateProgramm die Tabellen mit in die UPD-Datei einzugliedern.So werden die Tabellen als auch die Software geupdatet.
Es wird vor dem Update ebenfalls geprüft,ob ältere Version zugrunde liegt und dann ggf geupdatet.
Oder gibst du dem Programm einfach eine neue tabelle und dann werden dazu zur Laufzeit die Felder erstellt?
Gruss
majolo


UGrohne - So 01.12.02 20:06

Die Felder sollen zur Laufzeit erzeugt werden, das beim Update zu machen ist ziemlich blöd, weil ich manchmal nur die EXE liefere, weil der mit 56K surft und da kann ich ihm keinen 6MB-DL zumuten *g*

Deswegen brauche ich nur ein Code-Fragment, dass überprüft, ob ein bestimmtes Feld in der Tabelle vorhanden ist und ggf. das Feld erzeugt, ansonsten nichts macht.

Gruß, Uwe


LCS - Mo 02.12.02 14:51

Hi
du könntest einfach die Tabelle öffnen und die FieldDefs durchgehen, ob das gesuchte Feld vorhanden ist. Wenn nicht mit TQuery und ALTER TABLE Statement an die Tabelle anhängen.

Gruss Lothar