Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1389 connectés 

  FORUM HardWare.fr
  Programmation

  [ASP] comment savoir que je suis au dernier élement d'un rs ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASP] comment savoir que je suis au dernier élement d'un rs ?

n°50690
duch
Posté le 02-08-2001 à 16:10:43  profilanswer
 

je parcours un rs de la façon suivante :  
 
While (NOT rs.EOF)
' là j'écrit un truc
response.write(rs.Fields.Item("maValeur" ).Value&"," )
rs.MoveNext()
Wend
 
enfin le truc classique quoi, sauf que je ne veux pas écrire de "," qd je suis au dernier enregistrement, comment faire ?

mood
Publicité
Posté le 02-08-2001 à 16:10:43  profilanswer
 

n°50696
duch
Posté le 02-08-2001 à 16:31:00  profilanswer
 

et comment tu sais que tu es au premier :D
 
y'a un tableau, un truc comme ça?

n°50704
JWhy
je peux plier (héhé)
Posté le 02-08-2001 à 16:37:57  profilanswer
 

generalement ce que je vais (en delphi mais ca doit etre pareil en ASP), c'est (et la j'essaye de traduire du  Delphi en VB ;) ):

Code :
  1. ---------------------------------------------------------
  2. Dim sResponse as String
  3. sResponse = ""
  4. While (NOT rs.EOF)
  5.   ' là j'écrit un truc
  6.   sResponse = sResponse + rs.Fields.Item("maValeur" ).Value + ", "
  7.   rs.MoveNext()
  8. Wend
  9. ' si y'a qqchose dans ma reponse, je vire les 2 derniers caracteres (puisqu'ils seront egaux a ", " )
  10. if sResponse <> "" then
  11.   sResponse = Left(sResponse, length(sResponse) - 2 )
  12. ' je renvoie le resultat
  13. response.write(sResponse)
  14. ---------------------------------------------------------


ps: je connais pas ASP donc j'espere que tu t'y retrouveras

 

[edtdd]--Message édité par JWhy--[/edtdd]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°50708
duch
Posté le 02-08-2001 à 16:41:22  profilanswer
 

j'avais pensé à ça aussi, mais j'avais pas envie de passer par une chaine tampon, qui risuqe d'être très longue

n°50711
JWhy
je peux plier (héhé)
Posté le 02-08-2001 à 16:43:59  profilanswer
 

bah sinon tu fais un index que tu incrementes et que tu testes si c'est egale a 1 :
 
iIndex = 0
While (NOT rs.EOF)  
  iIndex = iIndex + 1
 
  if iIndex = 1 then
    response.write(rs.Fields.Item("maValeur" ).Value)  
  else
    response.write(", " & rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
Wend  
 
mais ca te rajoute un increment + un test  dans  ta boucle ...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°50715
Mikvix
Posté le 02-08-2001 à 16:46:50  profilanswer
 

tu peux faire un truc dans ce genre :
 
if not rs.EOF then
 response.write(rs.Fields.Item("maValeur" ).Value)  
 rs.MoveNext()
 While (NOT rs.EOF)  
  response.write(","&rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
 Wend
end if
 
ça évite de faire de test en plus dans la boucle ...

 

[edtdd]--Message édité par mikvix--[/edtdd]

n°50716
JWhy
je peux plier (héhé)
Posté le 02-08-2001 à 16:48:30  profilanswer
 

ah oui, c'est bien ca...  
 
par contre t'as merdé dans l'ajout des ", " mais c'est bien quand meme ! pas de de test pas d'index... j'achete ;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°50717
Mikvix
Posté le 02-08-2001 à 16:49:35  profilanswer
 

ouaip !!
en fait je viens d'éditer mon message 3 fois de suite, tellement c'était plein d'erreur :)

n°50720
duch
Posté le 02-08-2001 à 16:57:54  profilanswer
 

mikvix a écrit a écrit :

tu peux faire un truc dans ce genre :
 
if not rs.EOF then
 response.write(rs.Fields.Item("maValeur" ).Value)  
 rs.MoveNext()
 While (NOT rs.EOF)  
  response.write(","&rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
 Wend
end if
 
ça évite de faire de test en plus dans la boucle ...  
 
 




 
euh là j'comprends pas, si je li bien tu écris maValeur dans tous les cas...
 
ah non j'avais pas vu que le if se fermait tout à la fin, oui c'est bien comme truc :D

 

[edtdd]--Message édité par duch--[/edtdd]

n°50725
Mikvix
Posté le 02-08-2001 à 17:14:21  profilanswer
 

arf !  :p

mood
Publicité
Posté le 02-08-2001 à 17:14:21  profilanswer
 

n°50758
wouatouwou​atou
Posté le 02-08-2001 à 21:38:29  profilanswer
 

pour le premier element... c rs.BOF.. c comme EOF mais pour le premier element...
 
C comme si c t un element indicé -1, en considerant que le premier element de ton rs est indicé 0.... enfin, tu vois koi :D
 
Pi en asp, ya movefirst() je crois ou un truc comme ca... ki te positionne sur le premier element s'il y en a un...
 
Mais pour ton pb d'ecrire une chaine de caractere suivi d'un caractere special... ben... 2 choix corrects:
Soit tu traite le premier element a part.. pi le reste dans une boucle.
Soit tu fais ton truc normalement... pi tu tronque le dernier caractere... c a toi de voir...
Mais la premiere solution est mieux a mon gout. :D
 
P.S: Pour tester sil y a un element dans le rs tu fais  
If rs.BOF AND rs.EOF Then pas d'element...

 

[edtdd]--Message édité par wouatouwouatou--[/edtdd]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [ASP] comment savoir que je suis au dernier élement d'un rs ?

 

Sujets relatifs
[ASP] question pour débuter ...[ASP]Comment convertir une date
ASP => Envoyer un mail (sans composant)On peut savoir si l'interneteur quitte notre site ?
[ASP] -> Liste déroulante multiple por favor !!ASP => Decouper une chaine
[ASP] Question à la Con...[ASP] Uploader un fichier
[ASP] comment convertir une date[ASP] detection de plugin :-(
Plus de sujets relatifs à : [ASP] comment savoir que je suis au dernier élement d'un rs ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR