Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour
Je parcours une dataStore et effectue parfois un deleteRow() dans la boule du parcours.
Mon problème est que j'ai autant de ligne avant et après le parcours de la dataStore et mes deleteRow, je ne comprend pas.
Merci d'avance
Dernière modification par dark ryus (03-09-2010 15:26:32)
Hors ligne
On peut voir ton code?
Testes-tu le code retour de deleterow pour vérifier qu'il ne
retourne pas une erreur?
Hors ligne
Non je n'ai pas d'erreur
uf_message("",lds_rgl.rowcount()) for ll_i = 1 to lds_rgl.rowcount() ll_nb_point = 0 ... ... ... .. if uf_null_ou_zero(ll_nb_point) then ll_err = lds_rgl.deleteRow(ll_i) if ll_err < 0 then uf_message("","erreur") end if else lds_rgl.object.point[ll_i] = ll_nb_point end if next uf_message("",lds_rgl.rowcount())
Hors ligne
Normale, il y a lds_rgl.rowcount()
puis, ton script n'est pas bon.
Hors ligne
long ll_rows ll_rows = lds_rgl.rowcount() for ll_i = ll_rows to 1 step -1 ll_nb_point = 0 ... ... ... .. next
Hors ligne
pick ouic a écrit:
Normale, il y a lds_rgl.rowcount()
puis, ton script n'est pas bon.
Heeuu rowcount pose problème ??
Qu'est ce qui n'est ps bon dans mon code ?
Je vois pas, expliquez moi svp
Hors ligne
Quel est la différence avec ma boucle for à par aller dans l'autre sens ?
Je vois pas trop ce que ça change
Hors ligne
Justement, quand tu supprimes, il faut toujours faire comme pick : de la fin vers le début.
Exemple : tu supprimes la ligne 3. La ligne 4 devient 3.
Puis, tu examines la ligne 4, qui était 5 avant.
du coup, la ligne 4 n'aura jamais été examinée
Hors ligne
Oki, j'avais un doute sur ça aussi, merci de la confirmation
Hors ligne
sans compter que ton rowcount est évalué à chaque boucle
Hors ligne