Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Neues Feld in Tabelle (https://www.delphipraxis.net/197772-neues-feld-tabelle.html)

Walter Landwehr 3. Sep 2018 16:44

Datenbank: Firebird • Version: 2,5,5 • Zugriff über: IBO / IBExpert

Neues Feld in Tabelle
 
Hallo,
ich lege ein neues Feld per SQL in einer Tabelle an: Beispiel:
Delphi-Quellcode:
ALTER TABLE TBL_MANDANT ADD UNTERSCHRIFT DOM_BOOLEAN
dann schließe ich die Tabelle und Öffne Sie neu. Das Feld wird aber erst nach Neustart der Anwendung erkannt.
Delphi-Quellcode:
MandantQry.Close;
MandantQry.Open;
Was kann ich machen, das das Feld sofort erkannt wird.
Danke für jeden Tipp.

hoika 3. Sep 2018 17:05

AW: Neues Feld in Tabelle
 
Hallo,
1. auch die Transaktion schließen und neu öffnen
2. Connection neu aufbauen

Punkt2 nehme z.B. ich, weil irgendwie IBDAC+Firebird manchmal nicht mitbekommen,
dass sich was geändert hat.

Delphi.Narium 3. Sep 2018 18:19

AW: Neues Feld in Tabelle
 
Nach dem Alter-Table ein Commit machen?

Ist bei FireBird auf jeden Fall erforderlich.

Die Transaktion in der das Open stattfindet muss nach dem Close geschlossen werden. Wurden Datenänderungen vorgenommen, mit Commit, andernfalls kann man auch ein Rollback machen.

Das 2. Open erfolgt dann in einer neuen Transaktion. Vorher werden die Änderungen aus der Transaktion, in der das Alter-Table vorgenommen wurde, nicht sichtbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr.

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