Bonjour, grâce à votre aide j'utilise batchmove !
Je copie une table du serveur localement dans une MemTable.
Pour le travail en local j'ai besoin d'ajouter un champ à cette MemTable.
J'obtiens la MemTable avec son champ en plus et ses données .
Mais je fais 2 fois le batchmove.execute , je suppose qu'il y a un autre moyen de mettre à jour la Memtable ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 FDTbHistoCdc.Open() ; FDBatchMoveDataSetReader1.DataSet := FDTbHistoCdc ; FDBatchMoveDataSetWriter1.DataSet := FDMmMGCFC ; FDBatchMove1.Mode := dmAppendUpdate; try FDBatchMove1.Execute; except on E: EFDDBEngineException do ShowMessage('MySQLtoMem : ' + E.Message); end; FDTbHistoCdc.close ; //ajout champ TypeLgn with FDMmMGCFC.FieldDefs do with AddFieldDef do begin Name := 'TYPELGN' ; DataType := ftInteger ; end;J'ai essayé sans succès de remplacer les 3 dernières lignes par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4//update de la MemTable FDMmMGCFC.close ; FDMmMGCFC.Open ; FDBatchMove1.Execute;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 FDMmMGCFC.ApplyUpdates() ; FDMmMGCFC.Refresh ;
Partager