Einzelnen Beitrag anzeigen

Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
652 Beiträge
 
Delphi 10.4 Sydney
 
#1

"ALTER TABLE" funktioniert nur im Entwurfsmodus

  Alt 29. Dez 2005, 13:41
Datenbank: Firebird embedded • Version: 1.5 • Zugriff über: Zeos 6.5.1
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

ALTER TABLE TBLOBJECTS ADD STREXPPATH VARCHAR(255); 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.

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
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat