Comment puis-je ajouter des champs à un clientdataset au moment de l'exécution?

J'ai un TClientDataSet, qui est fourni par un TTable’dataset.
Le jeu de données comporte deux champs: code postal (string, 5) et de la rue (string, 20)

Au moment de l'exécution, je veux afficher un troisième champ (string, 20). La routine de ce champ est de mettre le code postal en tant que paramètre et donne en retour, la ville appartient à ce code postal.

Le problème est uniquement sur l'ajout d'un champ calculé à celles qui existent déjà. Le remplissage de la donnée en elle-même n'est pas le problème.

J'ai essayé:

  cds.SetProvider(Table1);
  cds.FieldDefs.Add('city', ftString, 20);

  cds.Open;

  cds.Edit;
  cds.FieldByName('city').AsString := 'Test';  // --> errormessage (field not found)
  cds.Post;

cd est mon clientdataset, Table1 est un paradoxe de la Table, mais le problème est le même avec d'autres bases de données.

Merci d'avance

de même pour mon question

OriginalL'auteur CloudyMarble | 2011-02-08