Bonjour
Je travaille sur une application "Delphi 2007/AnyDac" migrée vers "Delphi XE5/Firedac". Un bloc de code fonctionnel dans l'ancienne version pose problème aujourd'hui. Après remplacement d'un TADQuery par un TFDQuery, une requête UPDATE de type ArrayDML plante lamentablement avec une violation de contrainte de clé étrangère.
En fouinant dans la doc, il est dit:
- Définir la valeur de Params.ArraySize
- Renseigner les paramètres
- Appeler Execute du TFDQuery
Le code incriminé incrémente Params.ArraySize à chaque ajout d'ensemble de paramètres. En fait, les paramètres sont lus dans une table.
Et là, je me dis; "Le problème ne viendrait-il pas de là ?
Question: Faut-il dans Firedac impérativement définir cette valeur avant d'insérer toutes les lignes de paramètres ?? Serait-ce une différence majeure entre Anydac et firedac ?
L'un d'entre vous serait-il déjà tombé sur ce problème ?
Papy !
Bon, il semble que ça ne change rien. J'avais peur que les précédentes valeurs soient réinitialisées à chauqe changement de ArraySize mais il n'en est rien. Je continue à fouiller
Partager