Hallo,
mit dem folgendem Code frage ich eine Tabelle ab und erweitere das Ergebnis um das Feld b. Dieses möchte ich anschließend beschreiben. Dabei erscheinen die unten angegebenen Fehler:
Code:
Query := TAdoDataset.Create(Self);
Query.Name := 'xyz';
Query.Connection := MyCon;
Query.CursorType := ctStatic;
Query.CursorLocation := clUseClient;
Query.LockType := ltBatchoptimistic;
Query.Close;
Query.CommandText := 'select a, cast(null as integer) as b from aTable where a = ...';
Query.Open;
//Erster Versuch
Query.Append;
Query.FieldbyName('b').Value := 4711;
Query.Post; // <--
Exception: EDatabaseError: Feld 'b' kann nicht verändert werden
//Nächster Versuch
Query.Append;
Query.FieldbyName('b').ReadOnly := false;
Query.FieldbyName('b').Value := 4711;
Query.Post; // <-- Feld b wird nach dem Post auf null gesetzt
Wie kann ich ein Wert in b schreiben?