Pb de EOF dans boucle Do - ASP - Programmation
Marsh Posté le 21-01-2003 à 10:13:08
pour tester enlève ton OR, juste pour voir, peut être que c'est une connerie de ce genre...?
Marsh Posté le 21-01-2003 à 10:28:09
nineinch a écrit : pour tester enlève ton OR, juste pour voir, peut être que c'est une connerie de ce genre...? |
en effet...ca marche!
par contre je comprends pas pk ca pose pb avec...
Marsh Posté le 21-01-2003 à 10:33:35
pour une fois que je peux aider...
j'ai parfois eu des problèmes avec des boucles while et deux conditions à l'intérieur liés par un and ou un or, je sais pas à quoi c'est du...
ça fait peur quand même...
Marsh Posté le 21-01-2003 à 10:35:25
nineinch a écrit : pour une fois que je peux aider... |
ca ma fait surtout chier car je suis plus sur de mes pages maintenant!
Et en plus j'ai besoin de la deuxième condition
Marsh Posté le 21-01-2003 à 10:37:24
même avec des parenthèse de partout il disjonct...il prend même plus en compte la première condition en fait
Marsh Posté le 21-01-2003 à 10:44:00
fais un truc du genre:
do while not rs.EOF
if compteur<>(ton nombre) then exit
rs.movenext
loop
Ce que je veux dire c'est de mettre une condition dans ta boucle et à ce moment là en sortir (en java c'est break, mais en asp )
Astuce pourrie mais je pense qu'on pourrait s'en sortir avec autre chose que ces manipulations de bidouilleurs...
Marsh Posté le 21-01-2003 à 10:45:18
nineinch a écrit : fais un truc du genre: |
j'y avait pensé mais C pas très propre lol
sinon, j'ai jamais fait le test non plus
Marsh Posté le 21-01-2003 à 10:47:33
c'est clair que c'est tout sauf de la bonne programmation mais on fait comme on peut ...tant que ça sacrifie pas les performances et les fonctionnalités...
Marsh Posté le 21-01-2003 à 10:50:44
par contre je trouve pas comment sortie de la boucle,
c'est ni EXIT, ni QUIT, ni BREAK ....
Marsh Posté le 21-01-2003 à 10:59:02
Euh d'après ce que j'ai vu c'est exit do, look:
Exiting a Do...Loop Statement from Inside the Loop
You can exit a Do...Loop by using the Exit Do statement. Because you usually want to exit only in certain situations, such as to avoid an endless loop, you should use the Exit Do statement in the True statement block of an If...Then...Else statement. If the condition is False, the loop runs as usual.
In the following example, myNum is assigned a value that creates an endless loop. The If...Then...Else statement checks for this condition, preventing the endless repetition.
Sub ExitExample()
Dim counter, myNum
counter = 0
myNum = 9
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
If myNum < 10 Then Exit Do
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
c'est tiré de la documentation de WScript, normalement ça doit marcher...
Marsh Posté le 21-01-2003 à 11:01:45
c'est peut-etre un problème de double négation, essaye de changer ton OR en AND et de changer le sens des conditions. Je me fais toujours avoir avec ce genre de trucs...
(vive la logique!)
Marsh Posté le 21-01-2003 à 11:50:13
Urd-sama a écrit : c'est peut-etre un problème de double négation, essaye de changer ton OR en AND et de changer le sens des conditions. Je me fais toujours avoir avec ce genre de trucs... |
nope, j'ai déjà fais le test
Marsh Posté le 21-01-2003 à 13:34:07
et si tu faisais un simple WHILE, et non un DO WHILE?
(faut me pardonner si ca n'a rien a voir, mais je comprends pas très bien ton problème)
Marsh Posté le 21-01-2003 à 13:38:35
Urd-sama a écrit : et si tu faisais un simple WHILE, et non un DO WHILE? |
bon, je parcour ma base avec des rs.movenext...
le fait d'utiliser un DO While, c'est que j'ai apris comme ça et je n'ai jamais pensé à faire autrement
Marsh Posté le 21-01-2003 à 14:35:08
on peut faire avec un while...wend mais les gars de crosoft préconisent le do while, le while...wend a été rajouté car beaucoup de personnes l'utilisent, donc normalement ça devrait pas merder...normalement...
Marsh Posté le 21-01-2003 à 14:36:29
en fait j'avais appris ca en langage C, c'est qu'avec un do while tu exécute l'intérieur et ensuite quitte, tandis qu'avec un while tu quitte tout de suite (si la condition est remplie bien sur).
par contre je sais pas si c'est la meme chose avec l'asp
Marsh Posté le 21-01-2003 à 14:40:58
ben apparemment en asp on ne fait que des do while. En fait, les Do...loop sont là pour montrer qu'il y a une boucle.
ensuite on définit le type de la boucle (while, until, for...)
Marsh Posté le 22-01-2003 à 08:48:56
Ca marche aussi bien avec la boucle while...wend et les deux conditions dans le While ! Merci à tous pour votre aide
Marsh Posté le 22-01-2003 à 15:21:04
Reply
Marsh Posté le 21-01-2003 à 10:05:13
Bonjour,
voilà mon problème :
j'ai une boucle Do,
do while NOT Rs.EOF OR compteur = ((fpage*15 -1))
if Rs.EOF = TRUE then response.write "EOF" end if
.....
response.write "movenext<br>"
rs.movenext
loop
quand je lance la page, il affiche le traitement normale et :
movenext
movenext
....
movenext
EOF
je ne comprends pas pourquoi il quite pas la boucle dès qu'il est en EOF
là je suis à cours d'idée...HELP please
Merci