Bonjour
Je dis Dataset parce que je pense que le problème concerne ce composant à la base même si je cherche plutôt pour un TTable.e
Je cherche une méthode rapide pour ajouter une ligne à un TDataset en faisant une copie de la ligne en cours.
Basiquement, je peux mettre toutes les valeurs en cours dans un tableau et ajouter une ligne et transférer les valeurs dans la nouvelle ligne.
Mais je suis certain qu'on faire autrement. Je sais que les données sont présentes dans un buffer de ligne (record).
Donc, on doit sûrement pouvoir copier ce buffer dans une variable, créer une nouvelle ligne et envoyer le buffer de dans.
J'ai fouillé dans les poches de Google et à part des copies de champ, je n'ai trouvé que la procédure suivante (suggéré par un membre de la TeamB ) qui ne fonctionne pas.
Enfin, disons qu'elle fonctionne mal. La nouvelle ligne est bien créée mais les valeurs dedans sont complètement farfelues et ne sont pas du tout conformes à la ligne "source".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function CopyRecord(Table: TTable): Boolean; var buf: PByte; W: Word; begin GetMem(buf, Table.RecordSize); try Table.GetCurrentRecord(buf); W := DbiAppendRecord(Table.Handle, buf); finally FreeMem(buf); end; end;
Avez-vous déjà cherché une solution à ce problème ?
Partager