![]() |
Datenbank: Firebird embedded • Version: 1.5 • Zugriff über: Zeos 6.5.1
"ALTER TABLE" funktioniert nur im Entwurfsmodus
Hallo,
ich habe in meinem Programm eine Abfrage (TZQuery), die zur Laufzeit mit einem SQL-Statement gefüttert und dann per .ExecSQL ausgeführt wird. Das Statement lautet
SQL-Code:
Wenn ich nun diese Abfrage im Entwurfsmodus auf "Aktiv" schalte, wird das Statement auch ausgeführt und das Feld findet sich in der Tabelle, so wie es sein soll.
ALTER TABLE TBLOBJECTS ADD STREXPPATH VARCHAR(255);
Wenn ich aber die Abfrage zur Laufzeit mit dem Statement belege und dann ausführe, also
Delphi-Quellcode:
,
qryChgTbl.Close;
qryChgTbl.SQL.Clear; showmessage(strSQL); qryChgTbl.SQL.Add(strSQL); qryChgTbl.ExecSQL; dann erhalte ich folgende Fehlermeldung: "SQL Error: unsuccessful metadata update Table column not found. Error Code: -607. This operation is not defined for system tables. The SQL: ALTER TABLE TBLPROJECTS ADD STREXPPATH VARCHAR(255);' Prozess wurde angehalten.....blabla" Fazit: Im Entwurfsmodus gehts, zur Laufzeit nicht. :?: Hat vielleicht jemand eine Idee, woran das liegen könnte? Gruß Frank |
Re: "ALTER TABLE" funktioniert nur im Entwurfsmodu
Hi FBrust,
bei mir kommt der Fehler dann, wenn 2 oder mehr Verbindungen zu deiner Datenbank offen sind. Dabei hält vermutlich sowohl deine Enwicklungsumgebung, als auch dein Programm eine Verbindung zur Datenbank. Wenn du also die Verbindung in Delphi schließt, sollte dein Prog die Anweisung ausführen können. LG diago |
Re: "ALTER TABLE" funktioniert nur im Entwurfsmodu
Hi, Diago,
danke für Deine Antwort. Das mit der zweiten Verbindung wäre eine Möglichkeit, werds n. W. ausprobieren. Gruß und guten Rutsch Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 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