Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Hello,
je cherche le meilleur moyen de comparer le contenu de la dw1 par rapport au contenu de la dw2.
je veux juste verifier que les données soient exactement les memes.
la dw1 provient d'un traitement à part qui sera mise à jour ensuite sur la tableA
la dw2 provient de la tableA.
j'ai fait la methode de comparaison avec :
find, deleterow la ligne en double.
mais c'est trop long. surtout que je traite un peu pres 180000 données.
Si vous avez des idées
merci d'avance les pbdonfeurs

Hors ligne














If dw1.Object.DataWindow.Data <> dw2.Object.DataWindow.Data Then
Hors ligne
sympa, mais ca resout en rien mon probleme.
s'il y a 10000 enregistrements differents, il faut que je parcoure les lignes....

Hors ligne











Avec des filter, ça irait pas plus vite qu'avec des find?
Hors ligne














j'avais pas bien compris (lu?) ta question...
en fait, tu veux savoir si tous les enregistrements de dw1 sont inclus dans dw2 ?
Hors ligne











Sinon, une procédure stockée de comparaison pourrait être utile.
Ne pas oublier non plus qu'en SQL tu as la possibilité de faire des requêtes sympa avec les
INTERSECT, MINUS et compagnie.
Hors ligne
yep.
je suis obligé de comparer ligne par ligne.
et de voir si une nouvelle donnée doit être prise en compte ou non..
ainsi que si une ligne existante vient d'etre modifiée.
le filter ne sert à rien...
erasorz a écrit:
j'avais pas bien compris (lu?) ta question...
en fait, tu veux savoir si tous les enregistrements de dw1 sont inclus dans dw2 ?

Hors ligne
j'ai un debut de piste...
1ere: ma syntaxe dans le find etait trop chargée.
2eme: le fait de supprimer la ligne en doublon prend du temps. j'ai rajouté une 3eme dw, à laquelle j'insere les lignes des enregistrements (modifiés ou nouveaux). et le temps de reponse est passé de 10mn à 1 mn.... (why ?)
A+++

Hors ligne











pick ouic a écrit:
2eme: le fait de supprimer la ligne en doublon prend du temps. j'ai rajouté une 3eme dw, à laquelle j'insere les lignes des enregistrements (modifiés ou nouveaux). et le temps de reponse est passé de 10mn à 1 mn.... (why ?)
A+++
Il est probable qu'en général tu as plus de lignes en doublon que de lignes à ajouter ou modifier.
Le fait de supprimer la génération des nombreux deleterow en résultant doit expliquer la chose.
En plus, le deleterow modifiant à chaque fois le rowcount, la gestion de ton find ne doit
pas en être simplifiée.
Hors ligne
Pages: 1