J'ai une ancienne application Delphi 7 qui charge les données d'une table de base de données, effectue de nombreuses opérations et calculs et enfin écrit des enregistrements dans une table de destination.TClientDataset Erreur ApplyUpdates à cause de la contrainte de la table de base de données
Cette ancienne application appelle ApplyUpdates tous les 500 enregistrements, pour des raisons de performances.
Le problème est que, parfois, dans ce groupe d'enregistrements se trouve un qui déclenchera une contrainte de base de données; Delphi déclenche une exception sur ApplyUpdates.
Mon problème est que je ne sais pas quel enregistrement est responsable pour cette exception. Il y a 500 candidats!
Est-il possible de demander à TClientDataset quel est l'enregistrement incriminé?
Je ne veux pas ApplyUpdates pour chaque enregistrement ajouté pour les problèmes de vitesse.
Peut être le meilleur moyen consiste à applyUpdates foreach seulement après une exception, sur les 500 enregistrements. – philnext
@philnext Je ne comprends pas ce que tu veux dire. – Jako
ApplyUpdates sur 500 enregistrements, si tout est OK faites-le pour les 500 prochaines, si vous avez une exception, ApplyUpdates pour chacun de 500 dossiers jusqu'à ce que vous ayez une exception, traitez-le et continuez ... – philnext