Announcement

Collapse
No announcement yet.

TField dynamisch erzeugen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TField dynamisch erzeugen

    Ich möchte zur Laufzeit des Programms über SQL die Datenbank erweitern.
    Um die Felder bearbeiten zu können erzeuge ich Dynamisch Komponenten.

    Wenn RequestLive der Abfrage auf false gesetzt ist, funktioniert das auch
    alles
    wunderbar, nur bei einer aktualisierbaren Abfrage habe ich das Problem daß
    ich
    beim Öffnen der Datenbank eine Fehlermeldung erhalte daß das Feld "Userfeld"
    nicht gefunden werden kann. Was mache ich falsch bzw. wie kann ich das
    Problem
    umgehen. Bin für jeden Tip dankbar!

    BDE und Interbasedatenbank wird verwendet.

    Var
    sql:string;
    s:Tstringfield;
    begin

    sql:='alter table adressen add USERFELD VARCHAR(5)';
    felddazu.SQL.Clear;
    felddazu.SQL.Add(sql);
    felddazu.ExecSQL;
    Name:='USERFELD';

    Adressen.close;
    s:=Tstringfield.Create(self);
    s.FieldName:=name;
    s.FieldKind:=fkData;
    s.Name:=Adressen.Name+name;
    s.readonly:=false;
    s.Index:=Adressen.FieldCount;
    s.DataSet:=Adressen;
    Adressen.FieldDefs.Add(Adressen.Name+name,ftstring ,30,false);
    Adressen.FieldDefs.Update;
    Adressen.open;

    end;

    Gerhard
    [email protected]
Working...
X