Pb de EOF dans boucle Do

Pb de EOF dans boucle Do - ASP - Programmation

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  :sweat:  
là je suis à cours d'idée...HELP please  :cry:  
 
Merci  :hello:  

Reply

Marsh Posté le 21-01-2003 à 10:05:13   

Reply

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...?

Reply

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...  :sweat:

Reply

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... :sweat:  
ça fait peur quand même...

Reply

Marsh Posté le 21-01-2003 à 10:35:25    

nineinch a écrit :

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... :sweat:  
ça fait peur quand même...


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  :cry:

Reply

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  :pt1cable:

Reply

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...

Reply

Marsh Posté le 21-01-2003 à 10:45:18    

nineinch a écrit :

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...


j'y avait pensé mais C pas très propre lol
sinon, j'ai jamais fait le test non plus  :whistle:

Reply

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...

Reply

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 ....

Reply

Marsh Posté le 21-01-2003 à 10:50:44   

Reply

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...

Reply

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!)

Reply

Marsh Posté le 21-01-2003 à 11:04:08    

pareil ET ou OU, je galère toujours avec ça... :pt1cable:

Reply

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...
(vive la logique!)


nope, j'ai déjà fais le test  :sweat:

Reply

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)

Reply

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?
(faut me pardonner si ca n'a rien a voir, mais je comprends pas très bien ton problème)


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  :whistle:

Reply

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...

Reply

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

Reply

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...)

Reply

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  :jap:

Reply

Marsh Posté le 22-01-2003 à 11:03:35    

de rien, pour une fois que j'arrive à apporter mon aide  :)

Reply

Marsh Posté le 22-01-2003 à 14:18:48    

ha ben non, la double condition ne marche pas  :cry:  :cry:

Reply

Marsh Posté le 22-01-2003 à 14:28:41    

le retour du^problème à la con  :lol:

Reply

Marsh Posté le 22-01-2003 à 15:21:04    

nineinch a écrit :

le retour du^problème à la con  :lol:  


 :lol: comme tu dis  :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed